ios - 如何防止嵌入导航 Controller 的 View Controller 中的自动旋转?

标签 ios swift xcode xcode-storyboard

我有一个嵌入在导航 Controller 中的 View Controller ,如下所示:

enter image description here

导航 Controller 是一个自定义子类,如下所示

 class SNNAvigationViewController: UINavigationController {

        override func viewDidLoad() {
            super.viewDidLoad()

            // Do any additional setup after loading the view.
        }

        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }

        override var shouldAutorotate: Bool {
            return false
        }



    }

正如你所看到的,我重写了 shouldAutorotate 来表示 false。另外,在相机 View Controller 中我有:

class CameraViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate, CameraButtonDelegate {
...
    override var shouldAutorotate: Bool {
        return false
    }
...
}

但是不幸的是,当我转动手机时, View 仍然自动旋转。我在这里缺少什么?

最佳答案

您是否尝试过在导航 Controller 中添加此代码?

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    return .portrait
}

(如果您想要自然的肖像)。

关于ios - 如何防止嵌入导航 Controller 的 View Controller 中的自动旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51370214/

相关文章:

ios - 从主线程访问布局引擎后,不得从后台线程执行对布局引擎的修改

iphone - 在文档目录中找不到 plist 文件?如何以编程方式修改 plist?

ios - 在 Swift 中,将 "anywhere"注册为协议(protocol)的委托(delegate)

ios - 关闭AVPlayer的音频播放?

ios - NSUserDefault 不存储值

ios - 在 Swift 4 中升级后未调用 textFieldShouldReturn

ios - 'NSInvalidArgumentException',原因 : '-[BanGuayaPrototype.ViewController getTextId:]: unrecognized selector sent to instance 0x7fe5f69027d0'

objective-c - 如何将此 enumerateDraggingItemsWithOptions 方法调用转换为 Swift?

ios - Xcode 找不到匹配的配置文件 - Ionic Cordova

ios - iOS 构建失败,线程 1 : signal SIGABRT on iOS 12. 4