iOS 导航栏和状态栏一些颜色改变

// tabar颜色

self.tabBarController.tabBar.backgroundColor= [UIColorwhiteColor];

//    self.navigationController.navigationBar.translucent = NO;  //导航不透明

//导航栏颜色

[self.navigationController.navigationBarsetBarTintColor:NavColor];

//导航标题颜色

//  [self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor,nil]];

[self.navigationController.navigationBarsetTitleTextAttributes:

@{NSFontAttributeName:[UIFontsystemFontOfSize:19],

NSForegroundColorAttributeName:[UIColorwhiteColor]}];

//导航栏返回按钮字体颜色

self.navigationController.navigationBar.tintColor= [UIColorwhiteColor];

}

默认的黑色(UIStatusBarStyleDefault

白色(UIStatusBarStyleLightContent

在plist里增加一行UIStatusBarStyle这里可以设置两个值,就是上面提到那两个UIStatusBarStyleDefaultUIStatusBarStyleLightContent

在plist文件里添加  View controller-based status bar appearance == NO 默认是YES

如果上边方法不好用可以用:


self.navigationController.navigationBar.barStyle=UIBarStyleBlack;

-(UIStatusBarStyle)preferredStatusBarStyle

{

returnUIStatusBarStyleLightContent;

}


一个页面想要通过约束显示两种不同颜色状态栏

1.重写方法

-(UIStatusBarStyle)preferredStatusBarStyle

{

if() {

returnUIStatusBarStyleDefault;

}else{

returnUIStatusBarStyleLightContent;

}

}

2.通过约束改变状态栏颜色

[selfsetNeedsStatusBarAppearanceUpdate];

你可能感兴趣的:(iOS 导航栏和状态栏一些颜色改变)