【发布时间】:2016-11-18 12:20:33
【问题描述】:
我有一个带有多个视图控制器的应用程序,其中大多数应该能够有任何方向,但一个必须是纵向的。但是,应用程序忽略了我从supportedInterfaceOrientations() 返回的值
我的代码:
UINavigationController subclass:
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if let topViewController = self.topViewController {
return topViewController.supportedInterfaceOrientations()
}
return [.Landscape, .Portrait]
}
override func shouldAutorotate() -> Bool {
if let topViewController = self.topViewController {
return topViewController.shouldAutorotate()
}
return true
}
UIViewController subclass
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return .Portrait
}
override func shouldAutorotate() -> Bool {
return true
}
当我在一个横向兼容的视图控制器中并转到应该是纵向的视图控制器时,什么也没有发生 - 应用程序不会自动旋转到纵向。
我也从 info.plist 中删除了支持的界面方向。有什么想法吗?
【问题讨论】: