2017-02-21 26 views
0

У меня есть iPhone Plus, который я использую для разработки. Я обеспокоен тем, что мое приложение будет тесно или иначе не имеет хорошего интерфейса для 4-дюймовых телефонов, таких как SE. Есть ли способ имитировать 4-дюймовый телефон на Plus? Я предполагаю, что это оставит пустое место в верхней и боковых частях экрана.Есть ли способ имитировать меньший iPhone на моем Plus?

Симулятор не работает, поскольку масштаб неправильный. Все становится больше. Также трудно проверить сенсорные жесты на симуляторе, чтобы убедиться, что они чувствуют себя естественными. Наконец, это приложение для камеры, поэтому оно не запускается на симуляторе.

У меня все в порядке с сторонним приложением или библиотекой, чтобы сделать это.

+0

Получите использованный 4-дюймовый телефон? В этой ситуации я действительно заимствовал телефон друга. – matt

+0

Это очевидное решение, но я хотел проверить, есть ли другое :) –

+0

ОК, но просить «стороннее приложение или библиотеку» против правил переполнения стека, и нет никакого волшебного встроенного способа Apple , Разнообразие размеров экрана iPhone/аппаратных возможностей - это боль в прикладе, но нет волшебной пули для работы вокруг нее. – matt

ответ

0

Вы можете легко смоделировать с помощью контроллера вида контейнера:

class FourInchViewController: UIViewController { 

    init(child: UIViewController) { 
    self.child = child 
    super.init(nibName: nil, bundle: nil) 

    addChildViewController(child) 
    } 




    // Internals: 

    private let child: UIViewController 

    override func loadView() { 
    let black = UIView() 
    black.backgroundColor = .black 
    view = black 

    view.addSubview(child.view) 
    } 

    override func viewWillLayoutSubviews() { 
    let size = view.bounds.size 
    let w = CGFloat(320), h = CGFloat(568) 
    child.view.frame = CGRect(
     x:(size.width - w)/2, 
     y:size.height - h, 
     width: w, 
     height: h) 
    } 

    required init?(coder aDecoder: NSCoder) { 
    fatalError("init(coder:) has not been implemented") 
    } 
} 

Затем в делегат своего приложения, установите в качестве контроллера представления корня.

 Смежные вопросы

  • Нет связанных вопросов^_^