更改 iPhone 应用状态栏属性

Posted

技术标签:

【中文标题】更改 iPhone 应用状态栏属性【英文标题】:Change iPhone App Status Bar Properties 【发布时间】:2010-09-28 19:11:43 【问题描述】:

我的应用将全屏显示,但我无法找到解释如何更改状态栏属性的文档。

如何更改状态栏属性?

【问题讨论】:

【参考方案1】:

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO] 应该隐藏状态栏。这就是你想要的吗?

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

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

【讨论】:

几个cmets:我好像记得你可以在Info.plist中设置这些设置?另外,我对 Objective-C 和 iPhone 框架非常陌生,所以我不确定在 applicationDidFinishLaunching 中将上面的行放在哪里? 不完全确定,但我想 applicationDidFinishLaunching 会是一个很好的地方。 在我的例子中,在 applicationDidFinishLaunching 中使用 setStatusBarHidden 仍然允许状态栏在加载过程中显示一两秒。将它添加到 plist 文件中解决了这个问题,它根本不显示。 更新:-setStatusBarHidden:动画:现在已弃用。您应该删除“动画:”并使用 [[UIApplication sharedApplication] setStatusBarHidden:YES] 此方法自 ios4 起已被弃用【参考方案2】:

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

【讨论】:

【参考方案3】:

使用 Snow Leopard 和 XCode 3.2,您只需编辑 Apps Info.plist。

添加 2 行:

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

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

这对我有用。不过,我还没有尝试过在运行时更改状态栏视图状态,例如电池电量不足时。

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

// :)

【讨论】:

在下拉列表中将状态栏样式设置为“无”仍然不会隐藏它。我认为它只能通过代码来完成。【参考方案4】:

由于旧方法已被弃用:

// 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];

【讨论】:

以上是关于更改 iPhone 应用状态栏属性的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 iPhone 应用程序中状态栏的颜色? [复制]

Delphi更改IOS状态栏颜色

jQuery - 检测 iPhone 通话状态栏

iPhone XR 上的状态栏文本颜色不同

iOS 状态栏更改颜色

iOS 7 状态栏在 iPhone 应用程序中回到 iOS 6 默认样式?