Я пытаюсь создать приложение, поддерживающее ориентацию портрета и ландшафта для устройств iOS с обычным горизонтальным размером, а портрет - только для остальных.Поддержка ландшафтной ориентации для горизонтальногоSizeClass = .Regular в iOS
На момент написания этой статьи это было бы: только портрет (для iPhone, кроме 6 Plus/6s Plus) и Portrait AND Landscape для iPhone 6 Plus/6s Plus и iPad.
Это похожее поведение, выполняемое приложением native Mail.
Я пытался среди прочего, следующее:
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return [.Portrait, .LandscapeLeft, .LandscapeRight]
}
override func shouldAutorotate() -> Bool {
return (traitCollection.horizontalSizeClass == .Regular)
}
Однако shouldAutororate, очевидно, вызывается до интерфейса вращается, так что происходит перед traitCollection обновляется.
Итак, вопрос в том, как достичь этого? Я пытаюсь выполнить это самым чистым способом без прямого указания userInterfaceIdiom, размера экрана и т. Д.
Вы когда-нибудь находили решение для этого? Я тоже заинтересован в этом! – Whakkee