iOS7中的不透明白色状态栏

时间:2014-07-09 18:15:13

标签: ios uikit statusbar

首先,我知道两种众所周知的修改状态栏的方法是

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];

但是,使用默认样式时,状态栏的黑色文本带有清晰(或半透明的白色 - 我无法告诉)背景。我的应用程序中的视图在某些点上滑动,并且可以通过状态栏查看。有没有办法让状态栏背景为不透明白色?

由于

2 个答案:

答案 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]];

它应该有用!