iOS7中不透明的白色状态栏

iOS7中不透明的白色状态栏,ios,uikit,statusbar,Ios,Uikit,Statusbar,首先,我知道修改状态栏的两种众所周知的方法是 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 及 但是,在默认样式下,状态栏有一个带清晰(或半透明白色-我说不出来)背景的黑色文本。我的应用程序中的视图在某些点向上滑动,并且可以通过状态栏查看。有没有办法使状态栏背景变成不透明的白色 谢谢请在AppDelegate.m中尝试以下操作: [[UINavigationBar appe

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

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

但是,在默认样式下,状态栏有一个带清晰(或半透明白色-我说不出来)背景的黑色文本。我的应用程序中的视图在某些点向上滑动,并且可以通过状态栏查看。有没有办法使状态栏背景变成不透明的白色


谢谢

请在AppDelegate.m中尝试以下操作:

[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:255.0/255 green:255.0/255 blue:255.0/255 alpha:1.0]];

它应该有用

在AppDelegate.m中尝试以下操作:

[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:255.0/255 green:255.0/255 blue:255.0/255 alpha:1.0]];

它应该有用

我通过创建每个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];

通过创建每个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];

不。我尝试了“基于视图控制器的状态栏外观”作为正确和错误。如果这是真的,那么状态栏的区域就是黑色的。当它为假时,一切都不会改变。我尝试了“基于视图控制器的状态栏外观”作为正确和错误。如果这是真的,那么状态栏的区域就是黑色的。如果为false,则不会发生任何变化。您应该调整视图的框架/约束,而不是调整标题。您应该调整视图的框架/约束,而不是调整标题。我不知道为什么这不是正确答案。只是一个警告,这会将所有视图控制器的通知栏设置为白色,即使您仅在一个视图控制器中添加了通知栏(可能是由于UINavigationVC),因此请记住在不需要时隐藏通知栏。我不知道为什么不选择此选项作为正确答案。只是一个警告,这会将所有视图控制器的通知栏设置为白色,即使您只在一个视图控制器中添加了通知栏(可能是由于UINavigationVC),所以请记住在不需要时隐藏通知栏。