0

我的应用程序始终隐藏状态栏。

除了查看录制的预览时,在预览控制器中观看预览时状态栏会出现,但在预览控制器关闭时状态栏不会消失。我已经仔细检查prefersStatusBarHidden了我正在使用的控制器是否返回 YES。我真的需要一直隐藏状态栏。

  • [[UIApplication sharedApplication] setStatusBarHidden:YES];没有帮助。我尝试在处理程序中调用它dismissViewControllerAnimated:completion:
  • [self.viewController setNeedsStatusBarAppearanceUpdate];也无济于事。我尝试在处理程序中调用它dismissViewControllerAnimated:completion:

我注意到如果用户转到主屏幕并返回,状态栏似乎会正常消失。然而,这还不足以解决问题。

4

2 回答 2

0

在 iOS 9.0.2 中不起作用似乎很奇怪,但在其他系统版本中起作用?

- (void)previewControllerDidFinish:
(RPPreviewViewController*)previewController
{
    dispatch_async(dispatch_get_main_queue(), ^{
        if (previewController != nil)
        {
            [previewController dismissViewControllerAnimated:YES completion: 
nil];
        }
    });
}

info.plist基于视图控制器的状态栏外观设置为YES并在 viewController 中返回YESprefersStatusBarHidden方法为我工作

- (BOOL)prefersStatusBarHidden
{
    return YES;
}

这个网站可能会有所帮助:https ://forums.developer.apple.com/thread/19626

于 2017-07-05T02:59:35.557 回答
0

我修好了它。ReplayKit 的代理需要在主线程上做 UI 的事情,包括专门解除预览控制器。当我修复它时,状态栏问题就消失了。

于 2016-04-11T02:08:45.743 回答