UIInterfaceOrientationMask

UIInterfaceOrientationMask

我有一个有几十个uiviewcontroller的应用程序。
应用程序被声明为仅纵向,因此当屏幕旋转时不会旋转。
我希望允许一个特定的视图旋转。
尝试添加以下内容

open override var shouldAutorotate: Bool {
    get {
        return true
    }
}


override internal func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    let orientation: UIInterfaceOrientationMask = [UIInterfaceOrientationMask.portrait, UIInterfaceOrientationMask.landscape]
    return orientation
}

override internal func shouldAutorotate() -> Bool {
    return true;
}

不起作用。
任何帮助都将不胜感激

最佳答案

应用程序被声明为纵向
这就是你的问题所在。如果应用程序只允许人像,那么单个视图控制器所说的并不重要——应用程序会获胜。
应用程序的工作是声明应用程序将被允许承担的每一个方向。然后,各个视图控制器(在视图控制层次结构的顶层,或其指定的子级或委托)可以声明这些方向的子集。

10-08 08:27