方案1:
1,在Info.plist中设置View controller-based status bar appearance为NO
2,修改状态栏的字体颜色为白色:
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
如果只修改某个ViewController,将上面的代码加到ViewDidLoad中
如果需要在全部View中都变色,将上面的代码加到AppDelegate中。
方案2:
1,在Info.plist中设置View controller-based status bar appearance为YES
2,在viewWillAppear中调用RefreshStatusBarStyle设置状态栏颜色
- (void)RefreshStatusBarStyle:(UIStatusBarStyle)barStyle {
NSLog(@"RefreshStatusBarStyle");
mStatusBarStyle = barStyle;
if (IOS_7) {
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
[self preferredStatusBarStyle];
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
}
else {
[UIApplication sharedApplication].statusBarStyle = barStyle;
}
}
- (UIStatusBarStyle)preferredStatusBarStyle {
NSLog(@"preferredStatusBarStyle :%@", [self class]);
return mStatusBarStyle;
}
本文介绍了两种在iOS应用中调整状态栏颜色的方法。方案一通过修改Info.plist文件及使用Objective-C代码实现全局或特定ViewController的状态栏颜色变化;方案二则通过设置Viewcontroller-basedstatusbarappearance并在viewWillAppear中调用RefreshStatusBarStyle来改变状态栏样式。
3194

被折叠的 条评论
为什么被折叠?



