我在appdelegate类中设置状态栏颜色如下所示。
- (void)transitionToViewController:(UIViewController *)viewController
withTransition:(UIViewAnimationOptions)transition
{
self.window.rootViewController = viewController;
//SET STATUS BAR COLOR
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
{
UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0,[UIScreen mainScreen].bounds.size.width, 20)];
view.backgroundColor= [UIColor colorWithRed:0.96 green:0.96 blue:0.96 alpha:1.0];
[self.window.rootViewController.view addSubview:view];
}
}
当我尝试从单个屏幕中删除它时,我失败了。它保留了我在appdelegate中设置的背景颜色,但删除了文本。我想删除背景。
这是我尝试删除状态栏的方法:
[[UIApplication sharedApplication] setStatusBarHidden:YES];
和状态栏如下所示:
答案 0 :(得分:0)
在info.plist中添加此基于View控制器的状态栏外观设置YES
View controller-based status bar appearance = YES
基于viewcontroller的隐藏集
在视图控制器中添加方法。
目标-C
- (BOOL)prefersStatusBarHidden {
return YES;
}
夫特
override func prefersStatusBarHidden() -> Bool {
return true
}
答案 1 :(得分:-1)
将以下内容添加到您的Info.plist中:
<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
这也适用(iOS7 +):
override func prefersStatusBarHidden() -> Bool {
return true
}
您还需要致电:
setNeedsStatusBarAppearanceUpdate()
在viewDidLoad()中。