更改 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 应用状态栏属性的主要内容,如果未能解决你的问题,请参考以下文章