即使 UIStatusBarHidden 是 YES,如何防止 iOS 5 显示状态栏?
Posted
技术标签:
【中文标题】即使 UIStatusBarHidden 是 YES,如何防止 iOS 5 显示状态栏?【英文标题】:How to prevent iOS 5 from showing the status bar even though UIStatusBarHidden is YES? 【发布时间】:2012-01-26 18:33:51 【问题描述】:部分用户反映 ios 5 有时会显示状态栏。
在我的 Info.plist 中,UIStatusBarHidden 键为 YES,我从不乱用代码中的状态栏。
我能做些什么来解决这个问题?
【问题讨论】:
我刚刚开始使用 SDK 5.0 (Target 4.0) 开发一个新项目,并且遇到了同样的问题。我在 plist 中设置 UIStatusBarHidden = YES 或调用 [[UIApplication sharedApplication] setStatusBarHidden: YES withAnimation: UIStatusBarAnimationNone];无论如何,状态栏都会出现在每个后续屏幕打开上。如果您找到可行的解决方案,请通知我。 请参阅下面的回复。我确实设法解决了它。 【参考方案1】:Info.plist 中的条目应该足以隐藏它,但您可以尝试以编程方式进行:
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];
当您的应用启动时。
【讨论】:
setStatusBarHidden:animated:(在 iOS 3.2 中已弃用。请改用 setStatusBarHidden:withAnimation:。) @KostiantynSokolinskyi 改用 setStatusBarHidden:YES【参考方案2】:我认为上述方法在 iOS5 中已被弃用,我会改用这个方法:
[[UIApplication sharedApplication]setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
【讨论】:
【参考方案3】:找到了解决办法!
我确实在 plist 中设置了属性,但在将视图控制器推入导航堆栈或打开 UIImagePickerController 后,状态栏仍然可见: (我使用 Xcode 4.2 (SDK 5.0) 和 iOS 5.0.1)。
这里是(把代码放在你不需要状态栏可见的每个视图控制器中):
设置 self.wantsFullScreenLayout = YES; 在
- (id)initWithNibName: (NSString*)nibNameOrNil bundle: (NSBundle*)nibBundleOrNil
打电话
[[UIApplication sharedApplication] setStatusBarHidden: YES withAnimation: UIStatusBarAnimationNone];
在
- (void)viewWillAppear: (BOOL)animated
然后它可以在通过导航堆栈以及使用 UIImagePickerController(拍照或取消)推送控制器的情况下工作。
希望这会有所帮助。
【讨论】:
【参考方案4】:xcode 4.5
在摘要页面上为您提供隐藏状态栏的检查选项
-
转到项目的目标。
打开 sumaary,然后检查隐藏状态栏选项..
【讨论】:
【参考方案5】:您是否使用显示状态栏的 3rd 方框架?
【讨论】:
以上是关于即使 UIStatusBarHidden 是 YES,如何防止 iOS 5 显示状态栏?的主要内容,如果未能解决你的问题,请参考以下文章
Mysql创建新用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YE
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YE
mysql登陆报错ERROR 1045 (28000): Access denied for user 'root'@'::1' (using password: YE