iOS设置状态栏颜色
状态栏黑色(默认)风格:UIStatusBarStyleDefault
状态栏白色风格:UIStatusBarStyleLightContent
一、在info.plist中,将View controller-based status bar appearance设为NO
状态栏字体的颜色只由下面的属性设定:
[UIApplication sharedApplication].statusBarStyle
1、在info.plist中,将View controller-based status bar appearance设为NO;
1、在AppDelegate中设置为白色风格:
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
2、在特定的ViewController中做如下设置:
- (void)viewWillAppear:(BOOL)animated {[super viewWillAppear:animated];[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
}- (void)viewWillDisappear:(BOOL)animated {[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;[super viewWillDisappear:animated];
}
二、在info.plist中,将View controller-based status bar appearance设为YES,或者没有设置。
View controller-based status bar appearance的默认值就是YES。
如果View controller-based status bar appearance为YES。设置[UIApplication sharedApplication].statusBarStyle的值无效。
用下面的方法:
1、在ViewController中重写preferredStatusBarStyle方法。
- (UIStatusBarStyle)preferredStatusBarStyle {return UIStatusBarStyleDefault;
}
2、在viewDidload中调用:
- (void)viewDidLoad {[super viewDidLoad];[self setNeedsStatusBarAppearanceUpdate];
}
但是,当ViewController在Navigation中时,preferredStatusBarStyle方法根本不用被调用。
原因是,[self setNeedsStatusBarAppearanceUpdate]发出后,只会调用NavigationController中的preferredStatusBarStyle方法,ViewController中的preferredStatusBarStyley方法不会被调用。
解决办法有两个:
方法一:设置NavigationBar的barStyle 属性会影响statusBar的字体和背景色。如下:
//status bar的字体为白色,导航栏的背景色是黑色。
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
//status bar的字体为黑色,导航栏的背景色是白色,状态栏的背景色也是白色。
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
方法二:自定义一个NavigationBar的子类,在这个子类中重写preferredStatusBarStyle方法:
MyNav* nav = [[MyNav alloc] initWithRootViewController:vc];
self.window.rootViewController = nav;@implementation MyNav
- (UIStatusBarStyle)preferredStatusBarStyle {UIViewController* topVC = self.topViewController;return [topVC preferredStatusBarStyle];
}
iOS设置状态栏颜色相关推荐
- ios 设置状态栏颜色
UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] va ...
- ios 系统状态栏样式修改_超简单!!! iOS设置状态栏、导航栏按钮、标题、颜色、透明度,偏移等...
原标题:超简单!!! iOS设置状态栏.导航栏按钮.标题.颜色.透明度,偏移等 1. 要实现以下这些效果都非常简单 2. 废话不多说,先看看实现效果 3. 下面告诉你我为什么说实现这些效果非常简单 比 ...
- iOS 设置状态栏样式
iOS设置状态栏样式可以使用两种方式. 方式一: 直接在需要改变默认状态栏样式的控制器中实现一个方法(其他任何事情都不用做): // 返回状态栏的样式 - (UIStatusBarStyle)pref ...
- 设置状态栏颜色、沉浸式状态栏
导入依赖: implementation 'com.gyf.immersionbar:immersionbar:3.0.0' gradle.properties加入如下配置,不然可能编译报错: and ...
- Android设置状态栏颜色,沉浸式状态栏 fllutter Android设置沉浸式状态栏
1. Android原生设置沉浸式状态栏,设置状态栏颜色,字体颜色 import android.annotation.TargetApi; import android.app.Activity; ...
- html设置ios状态栏颜色,iOS 修改状态栏颜色
iOS中修改状态颜色在iOS9后官方废弃了下面这种方法 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDef ...
- Android App设置状态栏颜色
非常简单,只要在res/values/color.xml文件里改变colorPrimaryDark的值就可以了,状态栏的颜色就是来自它. 进入android studio,在color.xml里面双击 ...
- iOS7设置状态栏颜色
iOS7设置状态栏是透明的了,而视图控制器View Controller又是full Screen,因此当你用TableView时可以将整个TableView覆盖在view上面,然后将view的背景设 ...
- android实现系统状态栏的隐藏方法,Android隐藏系统状态栏(沉浸式状态栏)和设置状态栏颜色...
Android 5.0(API 21)之后就可以对系统状态栏进行设置了,这里我不是想深入讨论对系统状态栏的一些高级设置,因为一般也用不到,我只想说最常见的两种场景 隐藏系统状态栏,这就是感觉很牛逼的沉 ...
最新文章
- php sharepoint,如何使用php连接sharepoint
- SOR迭代求解线性方程组代码实现
- c++ 取成员函数地址_c及c++指针及引用简单解释(自学学习心得)
- ruby 工程的创建 使用JetBrains RubyMine建立rails 工程
- 计算机组成流水系统可以,计算机组成原理实验十三建立指令流水系统实验
- ionic 支持float吗_机器人协会 | 一起拼机器人吗?
- c#web页面显示弹窗_基于 HTML5 WebGL 的 3D 风机 Web 组态工业互联网应用
- CSDN 原力计划之最具技术影响力企业博客英雄榜 发布!
- POJ1088 Bailian1088 滑雪【DFS+记忆化搜索】
- Android代码 listview选中,Android开发listview选中高亮简单实现代码分享
- 涉密计算机检查问题,针对RG涉密信息自检查工具1.0Beta检查出来的电脑泄密问题的应对措施?...
- 详解动态代理及其实现原理
- vue.js之minix
- pyaudio usb playback_「APPSO」苹果还会为 iPhone 换上 USB-C 吗?
- flash火焰燃烧的文字效果
- html响应式布局ipad,响应式布局(Responsive design)
- blinker 第三方库_blinker 库开发注意事项
- 计算机的命令用英语怎么说,计算机外部和内部命令的英语及词汇
- 淘宝直通车为什么要低价引流,低价引流的原理、低价引流的具体操作
- Python-Turtle 简易教程
热门文章
- 打散线条lisp_几个很有用的CAD的lisp程序
- 让python每日给女友发情话早安
- Linux 4种休眠模式
- [AsciiDoc]_[项目管理]_[如何把adoc格式转换为docx]
- 小学三年级计算机总结范文,小学三年级信息技术教学工作总结范文
- C语言:计算两个数字的加法
- 《安德的游戏》和《死者的代言人》
- 王牌战争文明重启服务器维护费,王牌战争文明重启通行证奖励一览
- springMVC之@InitBinder的用法
- 小兔子跷跷板flash动画制作教程