我有一个UITabBarController子类,它具有以下代码:
class TabBarController: UITabBarController {
// MARK: Methods
override func viewDidLoad() {
super.viewDidLoad()
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
print(self.selectedIndex)
if self.selectedIndex == 1 {
return .Portrait
}
return .All
}
}
仅当我从iPhone执行应用程序时,才会调用
supportedInterfaceOrientations
函数。如果我从iPad mini执行该应用程序,则不会调用它。知道这种行为的原因吗? 最佳答案
这很奇怪,但是如果我从iPad的设备方向上取消选择Upside Down
,则会调用supportedInterfaceOrientations
。
更新:
如果启用了“常规”中的“需要全屏显示”设置,则将触发方向委托(delegate)方法shouldAutorotate
,preferredInterfaceOrientation
和supportedInterfaceOrientations
。