当我打电话的时候
[[UIApplication sharedApplication] setStatusBarHidden:hideStatusBar];在缩放模式下运行iPhone应用程序的iPad上,状态栏甚至不会隐藏。取而代之的是,一个20像素的黑色空间被推到了我的iPad视图的顶部;最终,我的应用程序被苹果拒绝了,尽管我不想让任何人在iPad上使用这款仅限iPhone的应用程序。
如果我删除setStatusBarHidden调用,iPhone显然不会隐藏状态栏。在运行缩放模式的iPad上,黑条不再显示。
基于视图控制器的状态栏外观设置为NO。
我还尝试了以下几种方法:
- (BOOL)prefersStatusBarHidden
{
return hideStatusBar;
}在我需要隐藏状态栏之前设置。
hideStatusBar = YES; //changes
[self setNeedsStatusBarAppearanceUpdate];但是,不会调用"prefersStatusBarHidden“。我只需要一个解决方案,这样黑条就不会出现在iPad缩放模式上,而状态栏就会消失在实际的iPhone上。
我在iOS 8和9上运行它。
发布于 2015-12-04 11:08:07
我发现,除了您已有的代码之外,还必须创建Info Plist BOOL项View Controller Status Bar Appearance (也称为UIViewControllerBasedStatusBarAppearance)并将其设置为YES。
适用于我的代码是:
-(BOOL)prefersStatusBarHidden
{
return YES;
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:NO];
[self setNeedsStatusBarAppearanceUpdate];
...https://stackoverflow.com/questions/33286164
复制相似问题