ios9 状态栏 改变文本颜色
2016-08-30 09:58
211 查看
状态栏的字体为黑色:UIStatusBarStyleDefault 状态栏的字体为白色:UIStatusBarStyleLightContent APP启动页状态栏颜色设置 在info.plist添加 Status bar style,改变style值,就可以改变颜色,默认是Gray style 一、在info.plist中,将View controller-based status bar appearance设置为NO,白色,YES,黑色 如果View controller-based status bar appearance为YES。 则[UIApplication sharedApplication].statusBarStyle 无效。 解决个别VC中状态栏字体颜色不同的办法 二、在app delegate中: [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; 三、在个别状态栏字体颜色不一样的vc中 -(void)viewWillAppear:(BOOL)animated { [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault; } -(void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; } 用下面的方法: 1、在vc中重写vc的preferredStatusBarStyle方法。 -(UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleDefault; } 2、在viewDidload中调用:[self setNeedsStatusBarAppearanceUpdate]; 但是,当vc在nav中时,上面方法没用,vc中的preferredStatusBarStyle方法根本不用被调用。 原因是,[self setNeedsStatusBarAppearanceUpdate]发出后, 只会调用navigation controller中的preferredStatusBarStyle方法, vc中的preferredStatusBarStyley方法跟本不会被调用。 解决办法有两个: 方法一: 设置navbar的barStyle 属性会影响status bar 的字体和背景色。如下。 //status bar的字体为白色 //导航栏的背景色是黑色。 self.navigationController.navigationBar.barStyle = UIBarStyleBlack; //status bar的字体为黑色 //导航栏的背景色是白色,状态栏的背景色也是白色。 //self.navigationController.navigationBar.barStyle = UIBarStyleDefault; 方法二: 自定义一个nav bar的子类,在这个子类中重写preferredStatusBarStyle方法: MyNav* nav = [[MyNav alloc] initWithRootViewController:vc]; self.window.rootViewController = nav; @implementation MyNav - (UIStatusBarStyle)preferredStatusBarStyle { UIViewController* topVC = self.topViewController; return [topVC preferredStatusBarStyle];}
// 记录来源于百度知道的回答。
相关文章推荐
- ios 7 statusbar 状态栏 跟随navigationbar的颜色而改变
- Android开发中将状态栏改变成透明颜色
- Android5.0-6.0沉浸式状态栏,以及动态改变状态栏颜色
- 改变导航栏上边的状态栏颜色
- 动态改变富文本字体的颜色
- 改变状态栏的颜色使其与APP风格一体化
- MyGUI_Orge官网教程_8.改变文本颜色_多列表
- Android 改变状态栏颜色
- 改变手机状态栏的颜色,隐藏手机状态栏
- css 选择后更改文字背景 CSS3 实现改变默认文本选中的颜色
- echarts x轴或y轴文本字体颜色改变
- iOS 改变Search Bar中Scope Button中文本的颜色和字体
- 在Activity中或Fragment中任意改变状态栏的颜色
- Android 沉浸式改变小米魅族状态栏颜色的实例代码
- Android状态栏一体化(改变状态栏的背景颜色)开源工程
- iOS 临时想改变状态栏字体颜色
- 改变网页文本选中的默认背景颜色
- MFC编程学习之改变对话框和控件及文本颜色
- iOS7改变状态栏文字颜色
- 可改变颜色的文本,可实现透明文本