隐藏状态栏

问题描述:

我希望以全屏方式在我的应用程序中显示其中一个ViewController的视图,因此在Interface Builder中,我将状态栏设置为None。 我也调整视图的大小为320 * 480隐藏状态栏

但是当我运行应用程序时,viewcontroller的视图仍然显示状态栏。

欢迎任何评论

感谢

alt text

呼叫setStatusBarHidden:withAnimation:在[UIApplication的sharedApplication。

+0

'[[UIApplication的sharedApplication] setStatusBarHidden:YES withAnimation:YES];' – Emil 2010-10-23 13:06:25

+0

即使我使用 [[UIApplication的sharedApplication] setStatusBarHidden:YES动画:YES]; 状态栏消失,但屏幕顶部有一个白色块:-( – arachide 2010-10-23 15:46:14

+0

请参考上图中的白色块 – arachide 2010-10-23 15:47:10

解决问题并不困难。在您的项目设置plist文件中,勾选“状态栏最初是隐藏的”键,状态栏将从启动中删除。

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

wantsFullScreenLayout

布尔值,指示视图是否应欠重叠状态 栏。

@属性(非原子,分配)BOOL wantsFullScreenLayout

讨论

当视图控制器呈现视图时,它通常收缩该 视图,以便其帧不重叠设备的状态栏。 将此属性设置为YES会导致视图控制器调整其视图的大小以使其填充整个屏幕,包括 状态栏下的区域。 (当然,发生这种情况时,托管 视图控制器的窗口必须自己调整大小,以填充整个屏幕,包括状态栏下面的区域,即 。)通常,将此属性设置为 ,如果您有一个半透明的状态栏 ,并希望您的视图的内容在该视图后面可见。

如果此属性为YES,认为没有的方式,将 导致其欠重叠标签栏,但调整为欠重叠半透明 工具栏大小。无论此属性的值如何,navigation 控制器总是允许视图低于半透明导航条 。

此属性的默认值为NO,这会导致视图为 ,因此它不会覆盖状态栏。

Availability在iOS 3.0及更高版本可用。

声明在

UIViewController。ħ