我正在为iPhone iPad申请。
我的测试iPhone(v4)在iOS 6上。 我的测试iPad在iOS 7上。
我想从整个应用程序中删除这两个状态栏。
以下是我尝试的内容:
在info.plist中,我已将Status bar is initially hidden
设为YES
而View controller based status bar
设为NO
这没有用。
所以我已将View controller based status bar
设置为YES
,并在我的主视图控制器中添加了:
- (BOOL)prefersStatusBarHidden{
return YES;
}
虽然这个函数永远不会被调用。
在同一个控制器中,我已将其添加到loadview
:
[[UIApplication sharedApplication] setStatusBarHidden:YES];
这适用于iPhone,但酒吧仍然显示在iPad上。
感谢您的帮助。
编辑:
我还检查了#34;在应用程序启动期间隐藏"在项目设置中。
编辑:
以下是我的项目设置的两个屏幕截图。
正如您所看到的,我已经尝试过您将此投票视为重复问题的答案。
如果我没有做错,感谢投票重新打开这个问题。
答案 0 :(得分:2)
在所有iOS版本的整个应用中,您需要有两件事情才能隐藏状态栏
View controller based status bar
设置为NO
。 (适用于iOS 7)applicationDidFinishLaunching
添加[[UIApplication sharedApplication] setStatusBarHidden:YES];
或简称[app setStatusBarHidden:YES]
现在,您可以选择将Status bar is initially hidden
设置为YES
,以便在应用启动时隐藏状态栏。
此外,如果您不希望在整个应用程序中隐藏状态栏。
删除[[UIApplication sharedApplication] setStatusBarHidden:YES]
并覆盖ViewControllers中的prefersStatusBarHidden
并返回YES或NO
- (BOOL)prefersStatusBarHidden{
return YES;
}
答案 1 :(得分:1)
如果设置Status bar is initially hidden to YES
,它将正常工作。
无论如何你试过以下方法吗?
-(void)viewDidLoad
{
[super viewDidLoad];
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
{
[self prefersStatusBarHidden];
[self setNeedsStatusBarAppearanceUpdate];
}
}
-(BOOL)prefersStatusBarHidden
{
return YES;
}
- (UIViewController *)childViewControllerForStatusBarHidden
{
return nil;
}
谢谢!
答案 2 :(得分:1)
只需将部署信息设置为通用。
答案 3 :(得分:0)
单击xCode项目/您的目标/常规/部署信息,然后选中“在应用程序启动期间隐藏”