美文网首页
iOS9修改状态栏颜色

iOS9修改状态栏颜色

作者: Amok校长 | 来源:发表于2016-09-27 12:08 被阅读0次

    statusbar 状态栏 跟随navigationbar的颜色而改变

    ios7以下的版本设置导航栏背景颜色可以使用

    [[UINavigationBar appearance] setTintColor:[UIColor orangeColor]];

    ios7以后:

    [[UINavigationBar appearance] setBarTintColor:[UIColor orangeColor]];

    默认带有一定透明效果,可以使用以下方法去除系统效果

    [navigationController.navigationBar setTranslucent:NO];

    公司项目需要将状态栏的文字颜色设置为白色,以下方法即可

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

    改变后需要及时刷新的调用

    [viewController setNeedsStatusBarAppearanceUpdate];

    如果没有效果,需要在plist文件里设置

    View controller-based status bar appearance  = NO

    info.plist中 View controller-based status bar appearance这个属性 View controller-based status bar appearance =NO 这个设置为:View Controller 不对status Bar 显示进行操作

    其他别的相关操作:

    1.将 View controller-based status bar appearance 删除(默认为 YES),或设置为YES

    2.设置rootViewcontroller,如果为viewController,那么重写下面的方法

    -(UIStatusBarStyle)preferredStatusBarStyle

    {

    return UIStatusBarStyleLightContent;

    }

    如果rootviewcontroller为navgationController,那么可以在所管理的viewcontroller里写下面的代码

    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

    或者为navgationcontroller写一个分类

    .h

    @interface UINavigationController (StatusBarStyle)

    @end

    .m

    #import "UINavigationController+StatusBarStyle.h"

    @implementation UINavigationController (StatusBarStyle)

    - (UIStatusBarStyle)preferredStatusBarStyle

    {

    //also you may add any fancy condition-based code here

    return UIStatusBarStyleLightContent;

    }

    @end

    相关文章

      网友评论

          本文标题: iOS9修改状态栏颜色

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