ReplayKit,状态栏在观看预览后不会消失

时间:2016-04-07 00:52:08

标签: ios replaykit

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

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

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

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

2 个答案:

答案 0 :(得分:0)

我修好了。 ReplayKit的代表需要在主线程上执行UI操作,包括专门解除预览控制器。当我修复它时,状态栏的麻烦就消失了。

答案 1 :(得分: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 中的查看基于控制器的状态栏外观设置为并返回 < viewController中的strong> prefersStatusBarHidden 方法为我工作

- (BOOL)prefersStatusBarHidden
{
    return YES;
}

并且此网站可能有所帮助:https://forums.developer.apple.com/thread/19626