【问题标题】:Hide status bar in all view controllers - IOS [duplicate]在所有视图控制器中隐藏状态栏 - IOS [重复]
【发布时间】:2017-06-23 19:49:52
【问题描述】:

如果我想隐藏单个视图控制器子类的状态栏,那么我这样做:

override var prefersStatusBarHidden: Bool {
    return true
}

但是如果我想在所有视图控制器子类中默认隐藏状态栏怎么办?在项目设置中选中“隐藏状态栏”没有任何作用。

我正在尝试编程UIPageViewController,其中包含许多附加到它的视图控制器。不必将它们全部子类化就好了。

【问题讨论】:

    标签: ios swift xcode uiviewcontroller uistatusbar


    【解决方案1】:

    转到您的 Info.plist 文件并添加一个新属性:

    View Controller based status bar appearance 并将其设置为NO

    然后转到 App Delegate 并将您的方法替换为:

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
            // Override point for customization after application launch.
    
            UIApplication.shared.isStatusBarHidden = true
            return true
        }
    

    【讨论】:

    • 是的,这很棒。不过,我现在无法标记您的答案。我想大约需要 7 分钟。
    • 是的,当然...我不着急:-}}。我很高兴能帮上忙!
    • 感谢兄弟的回答,点赞:)
    • 自 iOS 9.0 以来这不是已弃用吗?
    • 老实说,我不知道。对不起。无论如何,当 ios 10 是可用的最新版本时,这个答案被发布了,我记得它当时有效。
    【解决方案2】:

    右键单击您的Info.plist 并选择Open As > Source code

    在文件的末尾,在

    之前
    </dict>
    </plist>
    

    添加这个

    <key>UIStatusBarHidden</key>
    <true/>
    

    或添加Status bar is initially hidden并将其设置为YES

    【讨论】:

      猜你喜欢
      • 2014-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-08
      • 1970-01-01
      • 2013-09-20
      • 2013-01-11
      • 2016-05-03
      相关资源
      最近更新 更多