iOS 4.3 永久隐藏状态栏

34

我正在尝试在iOS 4.3中隐藏状态栏,因为setStatusBarHidden:animated:已经被弃用:

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]; //deprecated

plist文件中唯一可用的选项是:状态栏最初处于隐藏状态。这仅会在应用程序启动时隐藏状态栏。

Cheers


2
如果应用程序运行时隐藏/可见状态不改变,则“状态栏最初被隐藏”即可。我知道您需要更多的灵活性,但我认为一些开发人员会很高兴知道他们可以坚持使用属性列表。 - user234736
1
这对我有用:http://iphonedevelopertips.com/user-interface/gotcha-hiding-the-status-bar.html#comment-55017 gb - gonzobrains
5个回答

74

试试这个:

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

来自苹果官方文档:

setStatusBarHidden:withAnimation:

隐藏或显示状态栏,可以选择是否动画过渡。 - (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation 参数

hidden YES表示隐藏状态栏,NO表示显示状态栏。

animation 一个常量,指示是否应该有动画效果,如果请求了动画效果,则是淡入或淡出状态栏,或者滑动状态栏进入或退出等。


如果我想为状态栏制作一个开关,我该怎么做?如何测试状态(隐藏或不隐藏)?谢谢。 - Fredv

8

那么 [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];怎么样呢?

请参考UIApplication的文档.


4
新的方法是:
- (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation

除了动画类型现在是枚举来支持各种动画类型外,它的工作方式相同。


0

seStatusBarHidden 似乎已经被弃用并且不再起作用。

请改用您的视图控制器上的 prefersStatusBarHidden

- (BOOL)prefersStatusBarHidden
{
    return YES;
}

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

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