隐藏状态栏

3
我希望在我的应用程序中将一个ViewController的视图显示为全屏,因此在Interface Builder中,我将状态栏设置为None。我还将视图框架调整为320*480。但是当我运行应用程序时,ViewController的视图仍然显示状态栏。欢迎任何评论,谢谢。
3个回答

5
在[UIApplication sharedApplication]上调用setStatusBarHidden:withAnimation:方法。

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:YES]; - Emil
即使我使用[[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];,状态栏消失了,但屏幕顶部出现了一个白色块 :-( - arachide
请参考上图中的白色块。 - arachide

1

您需要将视图控制器的wantsFullScreenLayout设置为YES。将您的xib文件设置为与屏幕一样大,并在viewDidLoad中进行设置。

wantsFullScreenLayout 一个布尔值,指示视图是否应该在状态栏下面。
@property(nonatomic, assign) BOOL wantsFullScreenLayout
讨论 当视图控制器呈现其视图时,它通常会缩小该视图,以使其框架不重叠设备的状态栏。将此属性设置为YES会导致视图控制器调整其视图的大小,以使其填充整个屏幕,包括状态栏下面的区域。(当然,要发生这种情况,托管视图控制器的窗口本身必须被调整为填充整个屏幕,包括状态栏下面的区域。)您通常会在具有半透明状态栏并希望视图内容可见于该视图后面的情况下将此属性设置为YES。
如果此属性为YES,则不会调整视图的大小,以使其低于选项卡栏,但会调整大小以低于半透明工具栏。无论此属性的值如何,导航控制器始终允许视图低于半透明导航栏。
此属性的默认值为NO,这会导致视图的布局使其不低于状态栏。
可用性:iOS 3.0及更高版本。
声明于:UIViewController.h

1

解决这个问题并不难。在您的项目设置的plist文件中,检查键“状态栏最初是否隐藏”,状态栏将从启动中移除。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接