在所有视图控制器中隐藏状态栏 - IOS

时间:2017-02-06 18:51:42

标签: ios swift xcode uiviewcontroller uistatusbar

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

override var prefersStatusBarHidden: Bool {
    return true
}

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

我正在尝试对包含许多视图控制器的UIPageViewController进行编程。不必将它们全部子类化就好了。

2 个答案:

答案 0 :(得分:5)

转到Info.plist文件并添加新属性:

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

enter image description here

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

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

        UIApplication.shared.isStatusBarHidden = true
        return true
    }

答案 1 :(得分:1)

右键点击Info.plist并选择Open As > Source code

在文件末尾,

之前
</dict>
</plist>

添加此

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

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