我在 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];
状态栏如下所示:
最佳答案
在 info.plist 添加这个 View controller-based status bar appearance set YES
View controller-based status bar appearance = YES
基于 View Controller 的隐藏集
在 View Controller 中添加方法。
objective-C
- (BOOL)prefersStatusBarHidden {
return YES;
}
迅速
override func prefersStatusBarHidden() -> Bool {
return true
}
关于ios - 如果在应用程序委托(delegate)中设置,则从单个屏幕中删除状态栏颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44045946/