在项目中修改状态栏的颜色是很常用的功能.
- 修改状态栏的颜色有两种:
- 前景色
- 后景色
修改状态栏的前景色
- 在UINavigationController控制器中实现下面两个方法
- (UIViewController *)childViewControllerForStatusBarStyle {
return self.topViewController;
}
- (UIViewController *)childViewControllerForStatusBarHidden {
return self.topViewController;
}
- 在想要修改UIViewController控制器中实现下面两个方法
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleDefault; //状态栏的前景色
}
- (BOOL)prefersStatusBarHidden {
return NO; //状态栏是否隐藏
}
这就是修改状态栏的前景色
修改状态栏的后景色
- 在想要修改UIViewController控制器中实现下面两个方法
//设置状态栏背景颜色
- (void)setStatusBarBackgroundColor:(UIColor *)color {
UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
statusBar.backgroundColor = color;
}
}
- (void)viewDidLoad {
[super viewDidLoad];
[self setStatusBarBackgroundColor:[UIColor whiteColor]];
}
这就是修改状态栏的后景色
网友评论