如何在iphone中出现闪屏时隐藏状态栏?

Rah*_*yas 85 iphone xcode objective-c statusbar

有没有办法在iPhone中显示启动画面时隐藏状态栏然后再在应用程序中显示?

Dav*_*ong 191

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

  • "一旦你的应用程序加载了,你就可以重新显示状态栏"只是为了澄清是否有人感到困惑,可以安全地设置`[[UIApplication sharedApplication] setStatusBarHidden:NO];`on - application:didFinishLaunchingWithOptions: (9认同)
  • @Rahul选择文件中的最后一行,然后单击该行右端的加号按钮.然后自己输入. (3认同)
  • 该方法现在重新显示状态栏,setStatusBarHidden:withAnimation: (2认同)
  • 如果您想手动添加它,可以在文本编辑器(如BBEdit)中编辑plist,并在</ dict>行上方添加以下行:<key> UIStatusBarHidden </ key> <true />.或者在Xcode中右键单击plist并选择Open As ...源代码并将其编辑为文本. (2认同)

Max*_*Max 48

.plist中的正确键是"UIStatusBarHidden"并在右侧进行检查.然后自动成为"状态栏最初被隐藏".在我的练习中,你可以在隐藏时控制StatusBar的显示/隐藏位置:

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 0, 320, 480); //full screen.
Run Code Online (Sandbox Code Playgroud)

当显示:

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //move down 20px.
Run Code Online (Sandbox Code Playgroud)

希望这对你有所帮助.

  • +1非常感谢keyWindow框架技巧! (2认同)
  • @mover请在任何地方避免使用神奇的数字. (2认同)

Jon*_*ing 24

查看 - >属性列表类型 - > iPhone Info.plist.现在,选中"最初隐藏状态栏"的新项目.


Jos*_*eak 6

继Dave的回答之后,关键的"状态栏最初被隐藏"在iOS 4.3下对我不起作用但关键字"UIStatusBarHidden"然后将其类型设置为布尔值并选中该框就行了.

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

这篇开发者文章让我进入了Info.plist键,然后计算隐藏它的等效键并不太难.

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


Ian*_*son 6

对于Xcode 5及更高版本,您只需设置:

查看基于控制器的状态栏外观为NO

在info.plist中,或在主项目的信息选项卡中.

xcode中的信息设置示例