В настоящее время я адаптирую приложение iphone для ipad и внедрил следующий код в viewController для поддержки одного из представлений в альбомной ориентации (другие представления в книжной):
override func viewDidLoad() {
super.viewDidLoad()
collectionView.dataSource = self
collectionView.delegate = self
//TODO: - Keep presentationView in landscape
let value = UIInterfaceOrientation.landscapeLeft.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
}
override func viewDidDisappear(_ animated: Bool) {
let value = UIInterfaceOrientation.portrait.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .landscapeLeft
}
override var shouldAutorotate: Bool {
return true
}
Это прекрасно работает для iphone, но не работает при отображении приложения на iPad, то есть вид поворачивается и может быть виден как в портретной, так и в альбомной ориентации. Буду благодарен за любые предложения о том, как я могу адаптировать код, чтобы он работал на iPad.