iOS 8 设置隐藏状态栏:
1.只在当前控制器中设置状态栏: [[UIApplication sharedApplication] setStatusBarHidden:TRUE];
2.设置全局的隐藏状态栏:
在info.plist上添加一项:Status bar is initially hidden,value为YES;
- (void)setStatusBarAppearance:(UIApplication *)application {
application.statusBarHidden = YES;
}
统一设置状态栏的颜色为白色:
首先在info.plist中设置:(iOS7之前)
View controller-based status bar appearance 设置为 NO
//设置状态栏外观
- (void)setStatusBarAppearance:(UIApplication *)application {
application.statusBarStyle = UIStatusBarStyleLightContent;
application.statusBarHidden = NO;
}
(iOS7 之后)
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
如果没有nav的时候上面的方式是可以实现效果的。
但是如果有nav的时候上面的方式就没有效果了,需要
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;来实现
iOS9 以后开始的:
在当前控制器中隐藏状态栏:
//隐藏状态栏
- (BOOL)prefersStatusBarHidden {
return YES;
}
设置导航栏:
//设置导航栏外观
- (void)setNavigationBarAppearance {
//获取导航栏
UINavigationBar *navBar = [UINavigationBar appearance];
//设置背景图片
[navBar setBackgroundImage:[UIImage imageNamed:@"backgroundNavbar"] forBarMetrics:UIBarMetricsDefault];
//设置导航栏标题文字颜色
NSDictionary *attrs = @{NSForegroundColorAttributeName : [UIColor whiteColor]};
[navBar setTitleTextAttributes:attrs];
//设置导航栏其他按钮的文字颜色
[navBar setTintColor:[UIColor whiteColor]];
}