对于 UINavigationBar 状态栏

子类 UINavigationController,然后覆盖这些方法:

在 Objective-C 中:

- (UIStatusBarStyle)preferredStatusBarStyle
{ 
    return UIStatusBarStyleLightContent; 
}

在 Swift 中:

override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return .lightContent
}

或者,你可以在 UINavigationBar 实例上设置 barStyle

目标 C:

// e.g. in your view controller's viewDidLoad method:
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;  // this will give you a white status bar

迅速

// e.g. in your view controller's viewDidLoad method:
navigationController?.navigationBar.barStyle = .black // this will give you a white status bar

UIBarStyle 选项是 defaultblackblackOpaqueblackTranslucent。后者 3 应该都给你一个带有白色文本的状态栏,只有最后两个指定了栏的不透明度。

注意:你仍然可以根据需要更改导航栏的外观。