ios - 从横向启动应用程序时在 IOS 中锁定纵向方向

标签 ios iphone ipad swift orientation

所以我遇到了一个有趣的小错误。我有一个带有多个 subview 的 UINavigationController,它将显示我们只想在纵向 View 中可见。为了实现这一点,我们继承了 UINavigationController 并添加了以下内容:

override func shouldAutorotate() -> Bool {
    return false
}

override func supportedInterfaceOrientations() -> Int {
    return Int(UIInterfaceOrientationMask.Portrait.rawValue)
}

效果很好,应用程序被锁定为纵向模式,无法旋转,除非用户将设备侧向转动,然后从横向模式加载应用程序。预期的结果是设备以纵向方式加载,但它以横向方式加载,并且永远不会让用户旋转回纵向。

我能够复制它的唯一方法是从已经处于横向模式的设备加载应用程序。有任何想法吗?有很多关于设备方向的帖子,但我找不到关于应用程序启动的帖子。

最佳答案

删除 autorotate,它应该可以正常工作。

关于ios - 从横向启动应用程序时在 IOS 中锁定纵向方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29081829/

相关文章:

ios - 颜色属性在 UITextField 中与 NSAttributedString 保持一致

ios - 失败 : permission_denied when setValue: or removeValue: in Firebase Database | Swift 4

iphone - UIViewController 的两种方式关系

cocoa-touch - 在 iPad 上处理大型视频源

iphone - 在没有导航 Controller 堆栈的情况下,以动画方式将 View Controller 从一个 View Controller 过渡到另一个 View Controller

iPhone Retina 显示屏与 Apple App Store 上传

iOS:多行 UILabel 与水平 UIStackView 中的另一个 UILabel 的大小错误

iphone - 显示带逗号的整数 : 30000 --> 30, 000

iphone - 访问上次收到的已关闭/忽略的推送通知

ipad - UisplitViewController 导航栏