有没有办法在 iPhone 中显示启动画面然后在应用程序中再次显示时隐藏状态栏?
10 回答
我很确定如果您的 Info.plist 文件的Status bar is initially hidden
值设置为YES
,那么它在您的应用程序加载时不会显示。加载应用程序后,您可以使用 UIApplication 的方法重新显示状态栏setStatusBarHidden:animated:
。
.plist 中的正确键是“UIStatusBarHidden”并在右侧进行检查。它会自动变为“状态栏最初隐藏”。在我的实践中,您可以通过何时隐藏来控制状态栏的显示/隐藏:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 0, 320, 480); //full screen.
显示时:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //move down 20px.
希望这对你有帮助。
查看 -> 属性列表类型 -> iPhone Info.plist。现在,制作一个选中“状态栏最初隐藏”的新项目。
对于 Xcode 5 及更高版本,您只需设置:
查看基于控制器的状态栏外观为 NO
在您的 info.plist 或主项目的信息选项卡中。
跟进 Dave 的回答,键“状态栏最初隐藏”在 iOS 4.3 下对我不起作用,但键“UIStatusBarHidden”然后将其类型设置为布尔值并选中该框就可以了。
这篇开发者文章让我了解了 Info.plist 键,然后计算出隐藏它的等效键并不太难。
有趣的是,“UIStatusBarStyle”需要使用枚举名称作为字符串才能工作。
write this 1 line in to your main .m viewDidload method
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
or select info.plist file from your project supporting files folder in workspace
set statusbarinitialyhidden to YES
已弃用
setStatusBarHidden:(BOOL) animated:(BOOL)
是正确的
setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)
UIStatusBarAnimation可以是:
UIStatusBarAnimationNone或UIStatusBarAnimationFade或UIStatusBarAnimationSlide
这在 info.plist 中对我有用:
"View controller-based status bar appearance" -> set to NO
对于 XML 编辑器 ~ 添加到第一个子项
<key>UIStatusBarHidden</key>
<true/>