【问题标题】:iOS 10 how to make status bar keep portrait?iOS 10 如何让状态栏保持纵向?
【发布时间】:2017-11-19 02:06:30
【问题描述】:

我想让所有 ViewController 保持纵向,除了视频播放器控制器。所以我做了一个由 UINavigationController 扩展的自定义导航器。

class MyNavigationController: UINavigationController {

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
    }

    override var shouldAutorotate: Bool {
        return true
    }

    override var supportedInterfaceOrientations: UIInterfaceOrientationMask{
        return .portrait
    }

}

一切正常,但状态栏仍旋转为横向,如下所示:

有人可以帮我解决这个问题吗?非常感谢,快速的代码对我来说会更好。

【问题讨论】:

  • 您覆盖的 shouldAutorotate 导致了这种情况。您应该覆盖它以仅为您的 VidePlayer 控制器返回 true
  • @noir_eagle 我将其从 NavigationController 中删除,但仍然无法正常工作。

标签: ios iphone uinavigationcontroller statusbar landscape


【解决方案1】:

我通过删除 info.plist 中的 UIMainStoryboardFile 解决了这个问题。顺便说一句,我不使用情节提要,所以我添加了导航控制器

self.window = UIWindow.init(frame: UIScreen.main.bounds)
self.window?.makeKeyAndVisible()
let a = ViewController()
let nav = PumpNavigationController.init(rootViewController: a)
self.window?.rootViewController = nav

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多