【发布时间】:2010-11-11 23:21:48
【问题描述】:
有没有办法在 iPhone 中显示启动画面时隐藏状态栏 然后在应用程序中再次显示?
【问题讨论】:
标签: objective-c iphone xcode splash-screen statusbar
有没有办法在 iPhone 中显示启动画面时隐藏状态栏 然后在应用程序中再次显示?
【问题讨论】:
标签: objective-c iphone xcode splash-screen statusbar
我很确定,如果您的 Info.plist 文件将 Status bar is initially hidden 值设置为 YES,那么它在您的应用程序加载时不会显示。加载应用程序后,您可以使用 UIApplication 的 setStatusBarHidden:animated: 方法重新显示状态栏。
【讨论】:
[[UIApplication sharedApplication] setStatusBarHidden:NO]; 设置为安全 - application:didFinishLaunchingWithOptions:
.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.
希望这对您有所帮助。
【讨论】:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];float width = ((UIScreen *)[UIScreen mainScreen]).bounds.size.width;float height = (((UIScreen *)[UIScreen mainScreen]).bounds.size.height - 20);[UIApplication sharedApplication].keyWindow.frame = CGRectMake(0, 20, width, height);
setStatusBarHidden:withAnimation 期望 NSInteger typedef UIStatusBarAnimation 作为第二个参数,而不是 BOOL。代替NO,使用UIStatusBarAnimationNone
查看 -> 属性列表类型 -> iPhone Info.plist。现在,创建一个选中“状态栏最初隐藏”的新项目。
【讨论】:
按照 Dave 的回答,键“状态栏最初隐藏”在 iOS 4.3 下对我不起作用,但键“UIStatusBarHidden”然后将其类型设置为布尔值并选中该框就可以了。
这篇开发者文章让我了解了 Info.plist 键,然后找出隐藏它的等效键并不难。
有趣的是,“UIStatusBarStyle”需要使用枚举名称作为字符串才能工作。
【讨论】:
对于 Xcode 5 及更高版本,您只需设置:
查看基于控制器的状态栏外观为 NO
在您的 info.plist 或主项目的信息选项卡中。
【讨论】:
将这 1 行写入您的主 .m viewDidload 方法
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
或从工作区的项目支持文件夹中选择 info.plist 文件
将 statusbarinitiallyhidden 设置为 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/>
【讨论】: