2017-07-20 51 views
0

我尝试将我的状态栏放入Light Content中。
问题是我已将View controller-based status bar appearance设置为YES。将状态栏颜色置于LightContent中

enter image description here

在我的ViewController我把:

override open var preferredStatusBarStyle: UIStatusBarStyle { 
    return .lightContent 
} 

我也尝试把这个在我的AppDelegate:

application.statusBarStyle = .lightContent 

后,这是我仍然有一个暗(黑)状态酒吧。

+0

你是否检查preferredStatusBarStyle是否通过放置断点来调用? –

+0

你用NO检查过吗? – karthikeyan

+0

请NO –

回答

0

在你的ViewController的viewDidLoad方法尝试调用

self.setNeedsStatusBarAppearanceUpdate() 
+0

即使该调用preferredStatusBarStyle从不叫 – Max0u

2

IOS 10和迅速的3

变化的info.plist行查看基于控制器的状态栏的外观和它设置为NO

didFinishLaunchingWithOptions中的appDelegate.swift更改

UIApplication.shared.statusBarStyle = .lightContent 

在perticular视图 - 控制使用

override var preferredStatusBarStyle: UIStatusBarStyle { 
    return .lightContent 
} 
+0

我不能将它设置为NO,因为当我加载YouTube视频与web视图状态酒吧消失 – Max0u

0
didFinishLaunching Method in AppDelegate Class Single line code. 

application.statusBarStyle = .lightContent 
0

这里是Apple Guidelines/Instruction约状态栏的变化。只有黑暗&灯(而&黑色)被允许在状态栏。

这里是 - 如何更改状态栏样式:

如果你想设置状态栏样式,应用的水平,那么设置UIViewControllerBasedStatusBarAppearance在你的`的.plist”文件NO

,如果你婉设置状态栏样式,在视图控制器的水平,那么请按照下列步骤操作:

  1. .plist文件中设置UIViewControllerBasedStatusBarAppearanceYES,如果你需要在只的UIViewController级别设置状态栏样式。
  2. 在viewDidLoad中添加功能 - setNeedsStatusBarAppearanceUpdate

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

-

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.setNeedsStatusBarAppearanceUpdate() 
} 

override var preferredStatusBarStyle: UIStatusBarStyle { 
    return .lightContent 
} 

集的.plist根据状态栏样式设置电平值。 enter image description here