美文网首页iOSUISwift
iOS 修改状态栏的颜色 preferredStatusBarS

iOS 修改状态栏的颜色 preferredStatusBarS

作者: xxxixxxx | 来源:发表于2020-08-29 10:31 被阅读0次

⚠️⚠️⚠️首先要在项目的 Info.plist 文件里设置 View controller-based status bar appearance 为 YES,如果没有就不用添加⚠️ ⚠️⚠️

/*
1. 重写 UINavigationController 的 childViewControllerForStatusBarStyle
可以写在基类的 UINavigationController 中,也可以使用Category
*/
- (UIViewController *)childViewControllerForStatusBarStyle {
    return self.topViewController;
}

///Swift 
override var childForStatusBarStyle: UIViewController? {
        return topViewController
}

/*
2.  在需要改变状态栏颜色的 UIViewController 中实现 preferredStatusBarStyle
*/
- (UIStatusBarStyle)preferredStatusBarStyle {
   return UIStatusBarStyleLightContent;
   // return UIStatusBarStyleDefault;
}

///Swift
override var preferredStatusBarStyle: UIStatusBarStyle {
      return .lightContent
}

/*
3. 当触发某个条件需要改变状态栏颜色时在 UIViewController 中调用
然后在 - (UIStatusBarStyle)preferredStatusBarStyle; 中判断你的条件是否满足改变颜色
*/
[self setNeedsStatusBarAppearanceUpdate];

///Swift
setNeedsStatusBarAppearanceUpdate()

iOS修改状态栏颜色
OC 修改状态栏颜色
Swift修改状态栏颜色

相关文章

网友评论

    本文标题:iOS 修改状态栏的颜色 preferredStatusBarS

    本文链接:https://www.haomeiwen.com/subject/sxvdsktx.html