设置系统状态栏样式分析
来源:互联网 发布:网络分层结构 编辑:程序博客网 时间:2024/05/16 14:00
一、设置样式的方法
iOS6 -- iOS9 :
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
iOS7 -- iOS9 :
- (UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent;}
iOS7以后以上两种方法都能修改状态栏样式。
注意:第一种方法修改的是全局样式;第二种方法修改的是局部样式(只影响当前控制器状态栏的样式)。
二、关于状态栏所必知的plist属性
1.View controller-based status bar appearance : bool类型。iOS7以后默认 为YES。这个属性决定着设置状态栏样式方法的有效性。如果为YES,则第二种设置样式方法有效,第一种设置样式方法无效;如果为NO,则第一种设置样式方法有效,第二种设置样式方法无效。
2.Status bar style : string类型。就是状态栏的各种样式。 plist的这个属性决定着启动状态栏的样式。
a. 如果View controller-based status bar appearance = YES。那么系统实际上是启动控制器中的代码为:
- (UIStatusBarStyle)preferredStatusBarStyle{
returnUIStatusBarStyleLightContent;
}
但是此样式方法是局部的,所以只有启动控制器的状态栏是白色的,其他控制器状态栏依然是默认的黑色的。
b. 如果View controller-based status bar appearance = NO。那么系统实际的启动控制器中的代码为:
[[UIApplicationsharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
而此样式的方法是全局的,因此整个app的状态栏都是白色的。
三、有导航控制器的 VC中使用 preferredStatusBarStyle方法 不被调用的解决办法
在导航VC中这样调用
- (UIStatusBarStyle)preferredStatusBarStyle{ return [self.topViewController preferredStatusBarStyle];}
- 设置系统状态栏样式分析
- iOS状态栏设置样式
- iOS 7设置状态栏样式
- iOS设置全局状态栏样式
- iOS设置状态栏样式,statusBarStyle
- iOS设置状态栏样式,statusBarStyle
- 系统状态栏设置
- 设置系统状态栏颜色
- 设置系统状态栏颜色
- 设置系统状态栏颜色
- 在iOS7以后的状态栏设置样式
- 状态栏,tableView分区样式的设置
- IOS设置状态栏样式和背景
- ios设置状态栏隐藏和样式
- iOS开发之设置状态栏样式
- iOS-设置某些页面的状态栏样式
- Android 系统UI状态栏设置
- Android设置系统状态栏颜色
- 开源任务管理平台TaskManagerV2.0介绍及升级说明
- MSSQL复习笔记
- 开闭原则
- HTTP::Daemon, accept(), get_request(), send_file_response()
- YYWebImage工作原理介绍-----下载单张图片
- 设置系统状态栏样式分析
- [IOS 开发] 获取局域网IP
- 面向对象-四大内部类
- yii 布局设置
- Array::Compare, compare(), full_compare()
- Spring基础知识汇总
- 安装装ankhsvn
- Algorithm::Diff, diff()
- JavaScript概览(二)--流程控制及错误处理