Вот пример кода, который будет напечатан, если устройство «книжное» или «альбомное» при первом запуске, а также при обнаружении изменения ориентации.
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
getOrientation()
}
func getOrientation() {
let orientation = UIDevice.current.orientation
if orientation == .landscapeLeft || orientation == .landscapeRight {
print("landscape")
}
else {
print("portrait")
}
}
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
getOrientation()
}
}
Если я запускаю приложение с портретом телефона, оно работает нормально. Однако, если я запускаю приложение с телефоном в альбомной ориентации, оно сначала обнаружит портрет. Но если потом повернуть устройство, это будет правильно. Это ошибка или я неправильно использую UIDevice.current.orientation
?