更改iPhone应用程序状态栏属性

11

我的应用程序将是全屏的,但我找不到介绍如何更改状态栏属性的文档。

我该如何更改状态栏属性?

4个回答

30

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO] 可以隐藏状态栏,这是你想要的吗?

编辑:您还可以将以下内容添加到Info.plist中:

<key>UIStatusBarHidden</key>
<true />

一些注释:我记得你可以在Info.plist中设置这些设置?此外,我非常新于Objective-C和iPhone框架,所以我不确定在哪里放置上面的行,在applicationDidFinishLaunching中? - Ryan
不是很确定,但我想applicationDidFinishLaunching可能是一个不错的选择。 - dancavallaro
4
在我的情况下,在applicationDidFinishLaunching中使用setStatusBarHidden仍然会在加载过程中显示状态栏一两秒钟。将其添加到plist文件中可以解决这个问题,状态栏将完全不显示。 - Brian Moeskau
2
更新:-setStatusBarHidden:animated:现在已经被弃用。您应该删除“animated:”,只需使用[[UIApplication sharedApplication] setStatusBarHidden:YES]。 - MikeyWard
此方法已自iOS4起被弃用。 - Jon Limjap

3
状态栏API是UIApplication类的一部分。从那里开始。

1

使用Snow Leopard和XCode 3.2,您只需编辑应用程序的Info.plist文件。

添加2行:

右键单击打开的plist文件,添加一行并从下拉列表中选择“初始时隐藏状态栏”。 在右侧列中选中提供的复选框。

添加另一行并从下拉列表中选择“状态栏样式”。 在右侧列中键入UIStatusBarHidden。

对我有用。 我尚未尝试在运行时更改状态栏视图状态,例如如果电池电量低。

我不完全确定如果您添加第二行的值是否需要两个值。

// :)


将下拉列表中的状态栏样式设置为“无”仍然无法隐藏它。我认为只能通过代码来实现。 - Mathias Conradt

0

由于旧方法已被弃用:

// Old, Deprecated
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];

iOS 3.2+ 的方式是

[[UIApplication sharedApplication] setStatusBarHidden:YES
                                        withAnimation:UIStatusBarAnimationFade];

动画选项包括:

UIStatusBarAnimationNone  // No animation is applied
UIStatusBarAnimationFade  // The status bar fades in and out
UIStatusBarAnimationSlide // The status bar slides in or out

而且你仍然可以按照iOS 2.0+的方式进行操作,没有任何动画:

[[UIApplication sharedApplication] setStatusBarHidden:YES];

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