在iPad缩放模式下隐藏状态栏将窗口向下推



当我调用

[[UIApplication sharedApplication] setStatusBarHidden:hideStatusBar];

在iPad上运行缩放模式下的iPhone应用,状态栏甚至不会隐藏。相反,一个20像素的黑色空间被推到我的iPad视图的顶部;最终我的应用被苹果拒绝了,尽管我不希望任何人在iPad上使用这个"仅限iPhone"的应用。

如果我移除setStatusBarHidden调用,iPhone显然不会隐藏状态栏。在iPad运行缩放模式时,黑条不再显示。

基于视图控制器的状态栏外观设置为NO

我还尝试了以下操作:

- (BOOL)prefersStatusBarHidden
{
  return hideStatusBar;
}

和此设置之前我需要隐藏状态栏。

hideStatusBar = YES; //changes
[self setNeedsStatusBarAppearanceUpdate];

然而,"prefersStatusBarHidden"没有被调用。我只是需要一个解决方案,使黑条不会出现在iPad缩放模式和状态栏消失在实际的iPhone。

我在ios8和ios9上运行这个

我发现,除了你已经得到的代码,你必须创建Info Plist BOOL项目View Controller Status Bar Appearance(也称为UIViewControllerBasedStatusBarAppearance)并将其设置为YES。

我的代码是:

-(BOOL)prefersStatusBarHidden
{
    return YES;
}
- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:NO];
    [self setNeedsStatusBarAppearanceUpdate];
...

最新更新