美文网首页
设置状态栏颜色

设置状态栏颜色

作者: LearningCoding | 来源:发表于2016-06-07 19:56 被阅读81次

    在开发中,经常会遇到状态栏上面字体颜色设置为白色的情况,系统默认的是黑色,发现只通过代码是没有办法搞定的,需要在Info.plist文件中设置才可以:
    第一步:在info.plist文件中添加字段UIViewControllerBasedStatusBarAppearance,设为NO
    第二步:使用一句代码就可以了

    UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    

    如果你是设置APP中所有的界面,把这句话直接写在AppDelegate.m的didFinishLaunchingWithOptions方法里面就可以了
    如果你只是想要改变某一个界面,那你需要在改界面重写以下两个方法,添加一下代码

    -(void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
        [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
    }
    -(void)viewWillDisappear:(BOOL)animated
    {
        [super viewWillDisappear:animated];
        [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
    }
    

    其他方法

    - (UIStatusBarStyle)preferredStatusBarStyle {
        return UIStatusBarStyleLightContent;
    }
    [self setNeedsStatusBarAppearanceUpdate];
    

    如果使用navigation导航的话,使得导航控制器不会将preferredStatusBarStyle这个方法的调用转给它的子视图,而是由导航控制器本身进行管理,该方法不被调用,可以使用(导航条不隐藏):

    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
    self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
    

    相关文章

      网友评论

          本文标题:设置状态栏颜色

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