首页 文章

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

提问于
浏览
0

我打电话的时候

[[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上运行它 .

1 回答

  • 0

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

    适合我的代码是:

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

相关问题