Есть ли способ имитировать меньший iPhone на моем Plus?

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

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

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

1 ответ

Решение

Вы можете легко смоделировать это, используя контроллер представления контейнера:

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")
  }
}

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

Другие вопросы по тегам