Status bar - iOS之状态栏
2024-09-05 07:53:27
(一)设置状态栏显示和隐藏
1、通过 Info.plist 文件增加字段,控制状态栏全局显示和隐藏
- 在 Info.plist 文件中增加字段 Status bar is initially hidden 设置为 YES ,那么 app 在 LaunchScreen 页面隐藏状态栏
- 在 Info.plist 文件增加字段 View controller-based status bar appearance 设置为 YES,那么app默认所有页面都会显示状态栏
2、通过代码,控制状态栏全局显示和隐藏
- 在 Info.plist 文件 View controller-based status bar appearance 设置为 NO时,代码设置状态栏才会起作用。
- 在 AppDelegate.m 中添加代码 [[UIApplication sharedApplication] setStatusBarHidden:NO];
3、通过代码,控制状态栏局部显示和隐藏
- 在 Info.plist 文件 View controller-based status bar appearance 设置为 YES
- 在需要隐藏状态栏的VC中重写写法 - (BOOL)prefersStatusBarHidden { return YES;},返回YES
(二)设置状态栏颜色
1、设置状态栏文字部分的颜色
- 全局文字颜色:在 Info.plist 增加key值 Status bar style,value可以设置 UIStatusBarStyleDefault (默认黑色)和 UIStatusBarStyleLightContent (白色)。
- 全局文字颜色:在 Info.plist 文件 View controller-based status bar appearance 设置为 NO时,且在 AppDelegate.m 中添加2行代码 [[UIApplication sharedApplication] setStatusBarHidden:NO]; [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 即可!注意:此处 Info.plist中添加的key值对应的value必须为NO,若为YES,则代码不起作用。
- 局部文字颜色:此处分2种不同情况
首先设置,在 Info.plist 文件 View controller-based status bar appearance 设置为 YES
a. ViewController 不嵌套在 UINavigationController 中,需要设置以下
重写 UIViewController 方法 - (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleDefault; }
b. ViewController 为 UINavigationController 的rootVC,需要设置以下
继承 UINavigationController 写一个子类,然后重写方法:
- (UIStatusBarStyle)preferredStatusBarStyle {
return self.topViewController.preferredStatusBarStyle;
}
关于以上状态栏的显示和隐藏、文字或背景颜色均为亲测,若存在问题,麻烦留言@我!
最新文章
- 【随笔】MQTT简介
- 为什么重新设计 ASP.NET?
- GO To Definition的背后操作【VS2015 C#】
- Git补丁
- delphi 获取驱动盘的卷标 号
- java中小工具————UUID
- git 查看某个文件的历史修改版本
- 复制粘贴之插件(clipboard.min.js)不需要安装flash
- SENDMESSAGE和POSTMESSAGE
- zabbix3.2监控redis
- poj2586 【贪心】
- Android UI系列-----LinearLayout的综合使用
- Android 7.0下,拍摄照片报错
- JavaScript(2)
- SpringSecurity入门例子及遇到的问题解决
- Ubuntu下好的PDF阅读器介绍
- mount过程分析之一(基于3.16.3内核)【转】
- Java多线程之Future与FutureTask
- Android启动过程中背景图片显示
- windows下搭建Cordova安卓环境