斯威夫特 4
显示:
(UIApplication.shared.value(forKey: "statusBarWindow") as? UIWindow)?.isHidden = false
隐藏:
(UIApplication.shared.value(forKey: "statusBarWindow") as? UIWindow)?.isHidden = true
目标-c
好吧,这是一种方法:
在 myViewController.h
@interface myViewController : UIViewController {
BOOL shouldHideStatusBar;
}
然后在 myViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
shouldHideStatusBar = YES;
}
- (BOOL)prefersStatusBarHidden {
return shouldHideStatusBar;
}
假设当我触摸屏幕时,它现在应该显示状态栏。您需要调用:setNeedsStatusBarAppearanceUpdate
特别是为了让它工作,然后是一个开关(在这种情况下是布尔值)来显示/隐藏。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
shouldHideStatusBar = (shouldHideStatusBar)? NO: YES;
[self setNeedsStatusBarAppearanceUpdate];
}
setNeedsStatusBarAppearanceUpdate
每当视图控制器的状态栏属性的返回值发生变化时,都应该调用它。如果从动画块中调用它,则更改将与动画块的其余部分一起动画。
首选状态栏隐藏:
返回值 布尔值 YES 指定应隐藏状态栏。默认值为 NO。
讨论 如果您更改此方法的返回值,请调用 setNeedsStatusBarAppearanceUpdate 方法。
要指定子视图控制器应控制首选状态栏隐藏/未隐藏状态,请实现 childViewControllerForStatusBarHidden 方法。
如果您计划在您的应用程序上使用 iOS 6 以及可能想要查看这篇文章