NavigationBar 和 statusBar 的颜色设置

1.statusBar的style默认状态下,电池信号之类的为黑色,背景为当前控制器的view的背景颜色。

UIStatusBarStyleLightContent, 状态栏内容为白色。

UIStatusBarStyleDefault,状态栏内容为黑色。

2.控制statusBar显示的风格,如果在NavigationController统一设置风格,那么就在NavigationController中写此方法。

- (UIStatusBarStyle)preferredStatusBarStyle{returnUIStatusBarStyleLightContent;}

3.如果要在有navigationController导航的情况下,要在viewController中拿到并修改statusBar的颜色的话

UIView*statusBar = [[[UIApplicationsharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];NSLog(@"statusBar.backgroundColor--->%@",statusBar.backgroundColor);if([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {        statusBar.backgroundColor = color;    }

4.设置 navigationBar 导航条leftItem和rightItem字体颜色,和导航条颜色

//navigationItem字体的颜色[self.navigationController.navigationBar setTintColor:[UIColorblackColor]];//导航栏颜色[self.navigationController.navigationBar setBarTintColor:[UIColorwhiteColor]];

5.设置navigationItem

UIBarButtonItem*item = [[UIBarButtonItemalloc] initWithTitle:@""style:UIBarButtonItemStyleDonetarget:nilaction:nil];self.navigationItem.backBarButtonItem = item;

6.在controller中设置 statusBar 和navigationBar 透明

[[[self.navigationController.navigationBar subviews] objectAtIndex:0] setAlpha:1];

self.view.backgroundColor = [UIColor ClearnColor];通常情况给self.view的背景色设置成图片,将导航条设为透明,就完成整个状态栏和导航条的透明了。

7.设置导航条标题的颜色 (AttributeString)

self.navigationController.navigationBar.titleTextAttributes = @{UITextAttributeTextColor: [UIColor whiteColor]};

推荐阅读更多精彩内容