53.状态栏样式设置

需求:App启动时状态栏是黑色样式,进入页面后是白色样式:
1.先在plist中增加属性


image

设置为Yes:页面会根据当前ViewController的preferredStatusBarStyle来设置状态栏的样式;No:进入APP时设置的样式,不能改变.
我使用Yes,因为我需要改变颜色.


image.png

在这里设置进入APP时状态栏的样式
或者在plist中增加
image.png

是一样的效果,当然这里的值选Default.

2.根控制器是ViewController时,只需要覆盖属性:

override var preferredStatusBarStyle: UIStatusBarStyle{
        return .lightContent //返回白色样式
    }

根控制器是NavigationController时:

override var preferredStatusBarStyle: UIStatusBarStyle{
        return .lightContent
    }
override var childViewControllerForStatusBarStyle: UIViewController?{
        return self.viewControllers.first
    }

是TabBarController时:

override var preferredStatusBarStyle: UIStatusBarStyle{
        return .lightContent
    }
override var childViewControllerForStatusBarStyle: UIViewController?{
        return return self.selectedViewController
    }

同时tabBarController的viewControllers中的所有controller需要覆盖属性:

override var preferredStatusBarStyle: UIStatusBarStyle{
        return .lightContent //返回白色样式
    }

当根控制的childViewControllerForStatusBarStyle属性不为空时,它所加载的控制器在显示状态栏时,都先使用childViewControllerForStatusBarStyle所返回的控制器的preferredStatusBarStyle值

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,828评论 4赞 61
  • 她是一个非常可爱的博美犬,她到来的那一天是二零十六年正月初八,取名为初八。 她来的那一天,身体又脏又臭,而且后...
    聋美阅读 788评论 1赞 2
  • 张碧如是我们系的传奇人物。 大一刚入学,辅导员召开班会,要求人人上台演讲,互相了解。这可是第一次见面会,重要性不言...
    月琉璃阅读 907评论 2赞 1
  • 在大概3月左右,在广州市属于第三梯队的民校,白云区中考成绩前三的老牌民校华师附中新世界学校开放了投递意向平台。此学...
    ChengGY阅读 2,475评论 0赞 3

友情链接更多精彩内容