【问题标题】:Dynamically hiding status bar动态隐藏状态栏
【发布时间】:2014-10-30 21:10:10
【问题描述】:
我想在单击按钮时隐藏状态栏。我试过了:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
我没有运气。我错过了什么吗?
【问题讨论】:
标签:
ios
objective-c
uinavigationcontroller
statusbar
【解决方案1】:
简单的方法是,转到 info.plist 文件。添加行,“查看基于控制器的状态栏外观”并设置为 NO。检查作为答案
【解决方案2】:
仅用于在代码中打开和关闭:
-(void)statusBarShouldHide:(bool)hide{
hideStatusBar = hide;
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
}
-(bool)prefersStatusBarHidden{
return hideStatusBar;
}
调用者:
[self statusBarShouldHide:true];
【解决方案3】:
如果您想以编程方式执行此操作
尝试这个。
重写函数
-(BOOL) prefersStatusBarHidden {
return needHideStatusBar;
}
-(IBAction) checkStatus {
// do your judgment here
needHideStatusBar = YES;
if ([self
respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
}