首先,我知道两种众所周知的修改状态栏的方法是
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
和
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
但是,使用默认样式时,状态栏的黑色文本带有清晰(或半透明的白色 - 我无法告诉)背景。我的应用程序中的视图在某些点上滑动,并且可以通过状态栏查看。有没有办法让状态栏背景为不透明白色?
由于
答案 0 :(得分:4)
我通过创建每个VC继承的基本视图控制器并将以下内容添加到viewDidLoad
来解决了这个问题:
//Make status bar opaque
CGRect blocker = CGRectMake(0, 0, self.view.frame.size.width, 20);
ColoredLineSegment *blockerView = [[ColoredLineSegment alloc] initWithFrame:blocker]; //ColoredLineSegment is just a colored in rect
blockerView.color = [UIColor whiteColor];
[[[[UIApplication sharedApplication] windows] objectAtIndex:0] addSubview:blockerView];
[[[[UIApplication sharedApplication] windows] objectAtIndex:0] bringSubviewToFront:blockerView];
答案 1 :(得分:0)
在AppDelegate.m中尝试:
[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:255.0/255 green:255.0/255 blue:255.0/255 alpha:1.0]];
它应该有用!