在LightContent中放置状态栏颜色

时间:2017-07-20 10:09:42

标签: ios swift3 statusbar uistatusbar

我尝试将状态栏放在Light Content中 问题是我已将View controller-based status bar appearance设置为YES。

enter image description here

在我的ViewController中,我把:

override open var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

我也试着把它放在我的AppDelegate中:

application.statusBarStyle = .lightContent

之后我仍然有一个黑暗(黑色)状态栏。

4 个答案:

答案 0 :(得分:2)

ios 10和swift 3

在info.plist中更改行查看基于控制器的状态栏外观并将其设置为NO

在didFinishLaunchingWithOptions

中更改appDelegate.swift
UIApplication.shared.statusBarStyle = .lightContent

在特定视图控制器中使用

override var preferredStatusBarStyle: UIStatusBarStyle {
   return .lightContent
}

答案 1 :(得分:0)

在ViewController的viewDidLoad方法中尝试调用

    self.setNeedsStatusBarAppearanceUpdate()

答案 2 :(得分:0)

didFinishLaunching Method in AppDelegate Class Single line code.

application.statusBarStyle = .lightContent

答案 3 :(得分:0)

以下是关于状态栏更改的Apple Guidelines/Instruction。只有黑暗&状态栏中允许亮(同时为黑色)。

以下是 - 如何更改状态栏样式:

如果要设置状态栏样式,应用程序级别,然后在`.plist'中将UIViewControllerBasedStatusBarAppearance设置为NO。文件。

如果您要在视图控制器级别设置状态栏样式,请按照以下步骤操作:

  1. 如果您只需要在UIViewController级别设置状态栏样式,请在UIViewControllerBasedStatusBarAppearance文件中将YES设置为.plist
  2. 在viewDidLoad添加功能 - setNeedsStatusBarAppearanceUpdate

  3. 覆盖视图控制器中的preferredStatusBarStyle。

  4. -

    override func viewDidLoad() {
        super.viewDidLoad()
        self.setNeedsStatusBarAppearanceUpdate()
    }
    
    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
    

    根据状态栏样式设置级别设置.plist的值。 enter image description here