美文网首页
状态栏颜色改变问题

状态栏颜色改变问题

作者: 简_爱SimpleLove | 来源:发表于2017-06-16 10:05 被阅读94次

导航控制器第一个界面

首先我是改变导航控制器第一个界面的状态栏颜色,可以重写下面的方法

- (UIStatusBarStyle)preferredStatusBarStyle {
    
    return UIStatusBarStyleLightContent;
}

然而这只能改变导航控制器的第一个界面的状态栏颜色,由第一个界面导航push过去的后面的界面都不能改变。

导航控制器的其他界面

想要改变导航push过去的其他界面的状态栏颜色,而且不影响别的界面,可以在viewWillAppear方法中

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    //设置状态栏为白色
    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

}

再在viewWillDisappear方法中设置回来

- (void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    //    如果不想让其他页面的导航栏变为透明 需要重置
    [self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
    [self.navigationController.navigationBar setShadowImage:nil];
    self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName:[UIColor blackColor]};
    //设置状态栏为黑色
    self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
}

但是这个方法对控制器的第一个界面的状态栏无效,如果在第一个界面写了,虽然不会改变第一个界面状态栏的颜色,但是会改变它所有的子控制器,即由第一个界面push过去的界面状态栏颜色。

而且上面的方法只能设置为白色或是黑色两种。

更多详细的用法请看下面文章,总有一个你用得上的
参考文章
iOS 更改状态栏、导航栏颜色的几种方法
ios 实现自定义状态栏StatusBar 和 导航栏navigationBar 的状态和颜色
【iOS开发】强制修改 iOS 状态栏颜色

相关文章

  • iOS 知识小集(Status Bar变换)

    背景 iOS 中经常会有需要在某个界面改变状态栏颜色或者某个界面隐藏状态栏的需求。而改变状态栏颜色和控制状态栏显示...

  • 状态栏颜色改变问题

    导航控制器第一个界面 首先我是改变导航控制器第一个界面的状态栏颜色,可以重写下面的方法 然而这只能改变导航控制器的...

  • iOS 状态栏隐藏+变色

    改变状态栏颜色 iOS手机状态栏默认是黑色,在某些情况下需要改变状态栏的颜色在info.plist文件中添加:Vi...

  • 20-状态栏

    1. 改变状态栏文字颜色(黑色变白色) 方法: 2.隐藏状态栏

  • 直播项目笔记(一)

    颜色封装 + ClOPageView + 瀑布流 搭建主题框架 导航栏布局 改变导航栏的颜色 改变状态栏的颜色 设...

  • iOS - 界面偏移、状态栏导航栏显示隐藏

    状态栏颜色设置 偏移问题 隐藏状态栏 隐藏导航栏

  • 如何设置状态栏字体颜色

    改变状态栏样式,只对iOS7及以上系统有效。其实也就是改变状态栏的字体颜色,默认是黑色,可以根据导航栏背景颜色设置...

  • 设置状态栏样式

    全局 如果想改变所有控制器的状态栏样式,可以借助Info.plist实现 状态栏默认颜色是黑色文本 改变状态栏为白...

  • iOS改变状态栏文字颜色

    iOS改变状态栏文字颜色 UINavigationController不会将 preferredStatusBar...

  • Android沉浸式(透明)状态栏适配

    在Android系统4.4以前,状态栏的背景色和字体颜色都是不能改变的。但是4.4以后Google增加了改变状态栏...

网友评论

      本文标题:状态栏颜色改变问题

      本文链接:https://www.haomeiwen.com/subject/aqppqxtx.html