Для всех не , использующих UINavigationController
, а вместо этого их контроллер представления по умолчанию - UIViewController
, вы можете проверить, какой контроллер представления активен (или представлен), с помощью следующего в AppDelegate
:
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> Int {
if let rootViewController = self.window!.rootViewController {
if let presentedViewController = rootViewController.presentedViewController {
return presentedViewController.supportedInterfaceOrientations()
}
} // Else current view controller is DefaultViewController
return Int(UIInterfaceOrientationMask.Portrait.rawValue)
}
Как вы можете видеть, я проверяю текущий контроллер вида, чтобы поддерживать различные ориентации интерфейса для определенных контроллеров вида.Для всех, кто заинтересован в использовании этого метода для поддержки конкретных, в каждом контроллере представления, который нуждается в определенной ориентации, должно быть размещено следующее:
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientationMask.All.rawValue)
}
Примечание: Этот код был написан с использованием Swift 1.2