当iPhone出现启动画面时如何隐藏状态栏?


Answers:


191

我非常确定,如果您的Info.plist文件的Status bar is initially hidden值设置为YES,则在您的应用程序加载时它不会显示。加载应用程序后,您可以使用UIApplication的setStatusBarHidden:animated:方法重新显示状态栏。


1
info.plist中没有这样的选项。有没有办法手动添加它
Rahul Vyas

3
@Rahul选择文件中的最后一行,然后单击该行右端的加号按钮。然后自己输入。
戴夫·德隆

2
现在重新显示状态栏的方法是setStatusBarHidden:withAnimation:
SargeATM 2010年

2
如果要手动添加,可以在BBEdit之类的文本编辑器中编辑plist并添加以下行:<key> UIStatusBarHidden </ key> <true /> </ dict>行上方。或在Xcode中,右键单击plist并选择Open As ... Source Code,然后将其编辑为文本。
JScarry 2013年

9
“一旦加载了应用程序,您就可以重新显示状态栏”只是为了澄清是否有人感到困惑,可以安全地设置[[UIApplication sharedApplication] setStatusBarHidden:NO];
-application

48

.plist中正确的键是“ UIStatusBarHidden”,并在右侧选中。它将变成“状态栏最初是隐藏的”,然后自动。在我的实践中,隐藏时可以控制StatusBar的显示/隐藏:

[[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.

希望这对您有所帮助。


要将CGRectMake的大小动态设置为任何类型的iPhone: [[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);
reinaldoluckman 2013年

UIApplicationsetStatusBarHidden:withAnimation期望UIStatusBarAnimation第二个参数而不是BOOL使用NSInteger typedef 。取而代之的是NO,使用UIStatusBarAnimationNone
用户

23

查看->属性列表类型-> iPhone Info.plist。现在,选中“状态栏最初处于隐藏状态”以创建一个新项。


6

跟随Dave的回答,在iOS 4.3下,键“状态栏最初处于隐藏状态”对我不起作用,但是键“ UIStatusBarHidden”然后将其类型设置为Boolean并选中此复选框即可解决问题。

http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html#//apple_ref/doc/uid/TP40009254-SW4

这篇开发人员文章使我了解到Info.plist键,然后找出隐藏它的等效键并不难。

有趣的是,“ UIStatusBarStyle”需要使用枚举名称作为字符串才能工作。



3

将这1行写入您的主要.m viewDidload方法

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

或从工作区中的项目支持文件文件夹中选择info.plist文件

将statusbarinitialyhidden设置为YES



1

这在info.plist中对我有用:

"View controller-based status bar appearance"  -> set to NO


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.