iOS 状态栏更改颜色、适配等
来源:互联网 发布:石家庄市软件测试招聘 编辑:程序博客网 时间:2024/05/22 15:50
前言
在开发过程中经常会与状态栏打交道,碰到的问题会有很多,像控制状态栏的1.显示隐藏2.颜色切换3.iPhoneX 适配,这里进行简单的总结。
1.状态栏简介
iOS的状态栏在普通iPhone上高度是20,但是在iPhoneX上是44,
颜色有两种
状态栏的字体为黑色: UIStatusBarStyleDefault
状态栏的字体为白色: UIStatusBarStyleLightContent
2.更改颜色和显隐(两种方法)
- 方法一 :在 info.plist 中,将 View controller-based status bar appearance 设为 NO
//1.全局的设置 在app delegate中:[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; //全局隐藏(会往上移动状态栏的高度,一般不会全局隐藏它) [UIApplication sharedApplication].statusBarHidden = YES;
//2.在要更改的VC中-(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; //黑色 [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault; //隐藏 [UIApplication sharedApplication].statusBarHidden = YES;}-(void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; //白色 [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; //显示 [UIApplication sharedApplication].statusBarHidden = NO;}
- 方法二:在 info.plist 中,将 View controller-based status bar appearance 设为 YES (默认值就是YES),或者没有设置。(建议使用方法一,这个方法没研究透)
如果值为YES。方法一的设置方法则无效,用下面方法
//在基类的Navigation中设置全局颜色,但是隐藏nav的颜色会不更改self.navigationBar.barStyle = UIStatusBarStyleLightContent;[self setNeedsStatusBarAppearanceUpdate];
//在VC中设置//设置样式 - (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; } //设置是否隐藏 - (BOOL)prefersStatusBarHidden { return NO; } //设置隐藏动画 - (UIStatusBarAnimation)preferredStatusBarUpdateAnimation { return UIStatusBarAnimationNone; }
3.适配高度问题
//获取高度,然后在特殊界面根据状态栏高度适配//statusBar高度#define StatusBarHeight [UIApplication sharedApplication].statusBarFrame.size.height
参考:
- 链接1
- 链接2
- 状态栏三方库
阅读全文
0 0
- iOS 状态栏更改颜色、适配等
- 更改iOS状态栏颜色
- iOS更改状态栏颜色
- iOS 状态栏颜色更改
- iOS更改状态栏字体颜色
- iOS更改状态栏文字颜色
- ios如何更改顶部状态栏的颜色
- ios上 更改 状态栏(UIStatusBar)的颜色
- ios上 更改 状态栏(UIStatusBar)的颜色
- ios更改状态栏(UIStatusBar)的颜色 最新
- ios上 更改 状态栏(UIStatusBar)的颜色
- iOS更改UIStatus(状态栏)前景颜色
- ios上 更改 状态栏(UIStatusBar)的颜色
- iOS开发 更改顶部状态栏颜色
- iOS更改状态栏颜色为白色
- ios上 更改 状态栏(UIStatusBar)的颜色
- ios上 更改 状态栏(UIStatusBar)的颜色
- iOS 更改状态栏(UIStatusBar)的颜色
- 例子---PHP与Form表单终结篇
- 打印1_100以内不是7的倍数或含有7的数
- IntelliJ IDEA中jsp路径无错误报红
- Shell正则表达式 & Grep正则表达式 & shell字符串处理
- SSM三大框架整合配置(1)-----SpringMVC
- iOS 状态栏更改颜色、适配等
- 对输入数据的异常处理
- PAT (Basic Level) Practise (中文)1044. 火星数字(20)
- java中“==”与equals -未完待续
- 电路中逻辑门的基础知识r
- 欢迎使用CSDN-markdown编辑器
- 出现 DB2 SQL Error: SQLCODE = -798, SQLSTATE = 428C9 错误的原因及解决方法
- mysql alter 用法,修改表,字段等信息
- python: del函数