博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 修改状态栏样式
阅读量:4290 次
发布时间:2019-05-27

本文共 1381 字,大约阅读时间需要 4 分钟。

方法一

如果控制器是由导航控制管理,设置状态栏的样式时,要在导航控制器里设置

-(UIStatusBarStyle)preferredStatusBarStyle{

    returnUIStatusBarStyleLightContent;

}

方法二

-(BOOL)prefersStatusBarHidden{

    return YES;//隐藏状态栏

}

方法三

    // 统一设置状态栏的样式

    // xcode5以上,创建的项目,默认的话,这个状态栏的样式由控制器决定,这是要配置plist文件

    

    [UIApplicationsharedApplication].statusBarStyle =UIStatusBarStyleLightContent;

参考----https://www.cnblogs.com/Free-Thinker/p/6478770.html

 

1 . 根据app主色调设置BaseViewController 的preferredStatusBarStyle, 根据主色调如果想设置白色状态栏样式,那么只需要在BaseViewController写下面这个方法即可。

- (UIStatusBarStyle)preferredStatusBarStyle {  // 如果app绝大多数页面要设置黑色样式,可以不写此方法,因为默认样式就是黑色的。  // return UIStatusBarStyleDefault;    // 白色样式    return UIStatusBarStyleLightContent;}

2 .如果想在继承自BaseViewController的控制器里改变状态栏样式,比如白色换成黑色,只需要重写一下父类的方法即可。

- (UIStatusBarStyle)preferredStatusBarStyle {    return UIStatusBarStyleDefault;}

3 .特殊情况,当继承自BaseViewController的控制器里出现了导航栏时,此时通过preferredStatusBarStyle方法改变状态栏样式可能不管用,这个时候就需要用到下面这个方法。

-(void)viewWillAppear:(BOOL)animated{    [super viewWillAppear:animated];    // 这样设置状态栏样式是黑色的    //[self.navigationController.navigationBar setBarStyle:UIBarStyleDefault];    // 这样设置状态栏样式是白色的    [self.navigationController.navigationBar setBarStyle:UIBarStyleBlack];}

4 .上面3种情况都是说BaseViewController,那么如果没有BaseViewController的话呢?哈哈,没有BaseViewController的话就更简单啦~在控制器直接写这个方法就好。

- (UIStatusBarStyle)preferredStatusBarStyle {    return UIStatusBarStyleLightContent;}

你可能感兴趣的文章
仿主流APP功能实现
查看>>
Java读取文件夹大小的6种方法及代码
查看>>
Java多线程中的10个面试要点
查看>>
Java面试经典,小题目大学问
查看>>
《程序员》:携程移动端 UI 界面性能优化实践
查看>>
Android指纹识别深入浅出分析到实战
查看>>
你们要的多数据库功能终于来了
查看>>
Android中实现微信本地视频发布到朋友圈功能
查看>>
非替代品,MongoDB与MySQL对比分析
查看>>
Hadoop平台相关技术
查看>>
java学习11天-自定义异常&异常转换(实例应用)
查看>>
MySql、SqlServer、Oracle数据库行转列大全
查看>>
程序员常用的自助建站资源汇总!
查看>>
分布式与集群的区别是什么?
查看>>
MySql常用必备脚本大全
查看>>
Velocity初探小结--velocity使用语法详解
查看>>
设计模式学习 - Singleton Pattern
查看>>
学习Spring——依赖注入
查看>>
CSS3 transform 属性详解
查看>>
Java对象内存结构及大小计算
查看>>