即使 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

JAVA 类与对象题目2

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