Получить модель iPhone XS Max по высоте экрана - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь настроить дизайн для XS Max.Ранее я только что идентифицировал устройство, проверив main.bound.screen.height, который для XS Max, согласно этому сайту: https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions, должен возвращать 896.0, верно?

Xcode 10.0 XSСимулятор Max возвращает 812.0 в качестве высоты экрана (однако то же самое относится и к XR, который должен иметь одинаковые точки экрана).Любая идея, как это исправить?

enum IPhone: String {
  case SE, normal, plus, X, XSMax

  init?(height: CGFloat) {
    switch height {
    case 568: self = .SE
    case 667: self = .normal
    case 736: self = .plus
    case 812: self = .X
    case 896: self = .XSMax
    default:
      return nil
    }
  }
}

struct Design {
  static var iPhone = IPhone(height: UIScreen.main.bounds.height)!
}

В viewDidLoad () контроллера представления:

print("screen height: \(UIScreen.main.bounds.height), iPhone: \(Design.iPhone.rawValue)")

1 Ответ

0 голосов
/ 19 сентября 2018

Хорошо, после некоторого поиска я нашел ответ на свой вопрос здесь: Границы основного экрана UIScreen возвращают неправильный размер

Оказывается, Xcode будет угадывать размер экрана, перейдячерез изображения запуска, которые вы предоставили.Ты можешь в это поверить?Поэтому, если вы не предоставили изображение соответствующего размера для нового XS Max, оно вернется к самому большому образу запуска, который он найдет.Вот почему в новом проекте без стартовых образов он работал нормально.

Я предоставил стартовые образы для XS Max и XR, и теперь размеры экрана правильные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...