swift - 隐藏导航栏时更改状态栏颜色

标签 swift cocoa-touch

我想在隐藏导航栏时设置状态栏的黑色(栏色调颜色)和白色色调颜色。

我想要它用于特定 View 。我试过这个:

override func viewDidLoad() 
{
    super.viewDidLoad()

    self.navigationController?.setNavigationBarHidden(true, animated: true)

    self.navigationController?.navigationBar.barStyle = UIBarStyle.Black

    self.navigationController?.navigationBar.barTintColor = UIColor.blackColor()

    self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()

}

我也试过这个东西:我在 P-list 中将值设置为 NO,用于基于 View Controller 的状态栏外观。

最佳答案

如果你想改变状态栏的颜色,你可以使用

UIApplication.sharedApplication().statusBarStyle = .LightContent

请记住,您不能将状态栏颜色设置为 LightContent 和默认值(黑色)以外的任何颜色。但是,您可以将状态栏设置为亮起,并在其后面放置一个具有不同颜色的元素。

如果你想要一个真正的方法来覆盖颜色使其成为黑色(默认)或浅色,你也可以尝试

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

在您要覆盖的 View Controller 中。如果您需要不同的背景颜色,请在其后面添加一个带有颜色的 UILabel 并指定浅色内容或默认颜色。

关于swift - 隐藏导航栏时更改状态栏颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31276660/

相关文章:

ios - UISegmentedControl 在删除段时删除当前选定的段

arrays - 数组创建导致 'Type of expression is ambiguous without more context'

iPhone cocoa "error:request for member ____ in something not a structure or union"

cocoa-touch - iPad:通过手指触摸屏幕来测量/检测覆盖区域(不仅仅是触摸坐标)

ios - requestInterstitialAdPresentation 只工作一次

ios - 任何人都可以在 iOS 上使用 Swift SMART FHIR 吗?

swift - 使用单独 UITextfield 中的数据自动更新 UITextfield

ios - 应用程序中的非公共(public)选择器?

ios - 在 Controller Swift 之间传递对象

ios - 在当前显示的 View Controller 顶部呈现 UIWebview