iOS statusBar 字体设置为白色

2020-11-04  本文已影响0人  東玖零

第一种方法

  1. 在 info.plist 中 View controller-based status bar appearance 设置为 NO
  2. UIApplication.shared.statusBarStyle = .lightContent

随着苹果api的更新就会出一个黄色警告

Setter for 'statusBarStyle' was deprecated in iOS 9.0: Use -[UIViewController preferredStatusBarStyle]

经查询 使用 [UIViewController preferredStatusBarStyle] 更合理,每个页面都可以方便的修改 statusBar 的颜色

第二种方法

  1. 在 info.plist 中 View controller-based status bar appearance 设置为 YES

一般在创建工程之初都会自定义一个BaseNavigationViewController继承UINavigationController,也会创建一个BaseViewController继承UIViewController。

在BaseNavigationViewController中重写 childForStatusBarStyle 方法。

//  BaseNavigationViewController 中的方法
override var childForStatusBarStyle: UIViewController? {
    return self.topViewController
}

在BaseViewController中重写 preferredStatusBarStyle 方法。

//  BaseNavigationViewController 中的方法
override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

具体哪个页面设置什么颜色在BaseViewController的子类中重写 preferredStatusBarStyle 方法即可。

上一篇 下一篇

猜你喜欢

热点阅读