在iPhone中显示初始屏幕然后在应用程序中再次显示时,是否可以隐藏状态栏?
在iPhone中显示初始屏幕然后在应用程序中再次显示时,是否可以隐藏状态栏?
Answers:
我非常确定,如果您的Info.plist文件的Status bar is initially hidden
值设置为YES
,则在您的应用程序加载时它不会显示。加载应用程序后,您可以使用UIApplication的setStatusBarHidden:animated:
方法重新显示状态栏。
[[UIApplication sharedApplication] setStatusBarHidden:NO];
.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.
希望这对您有所帮助。
[[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
期望UIStatusBarAnimation
第二个参数而不是BOOL使用NSInteger typedef 。取而代之的是NO
,使用UIStatusBarAnimationNone
跟随Dave的回答,在iOS 4.3下,键“状态栏最初处于隐藏状态”对我不起作用,但是键“ UIStatusBarHidden”然后将其类型设置为Boolean并选中此复选框即可解决问题。
这篇开发人员文章使我了解到Info.plist键,然后找出隐藏它的等效键并不难。
有趣的是,“ UIStatusBarStyle”需要使用枚举名称作为字符串才能工作。
对于Xcode 5及更高版本,您可以设置:
查看基于控制器的状态栏外观为“否”
在您的info.plist或主项目的“信息”选项卡中。
不推荐使用
setStatusBarHidden:(BOOL) animated:(BOOL)
是正确的
setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)
UIStatusBarAnimation可以是:
UIStatusBarAnimationNone或UIStatusBarAnimationFade或UIStatusBarAnimationSlide