【问题标题】:ReplayKit, status bar won't go away after watching previewReplayKit,观看预览后状态栏不会消失
【发布时间】:2016-04-07 00:52:08
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: ios replaykit


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      在 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并返回YES of prefersStatusBarHidden 方法对我有用

      - (BOOL)prefersStatusBarHidden
      {
          return YES;
      }
      

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

      【讨论】:

        猜你喜欢
        • 2013-07-19
        • 1970-01-01
        • 1970-01-01
        • 2011-11-02
        • 1970-01-01
        • 1970-01-01
        • 2015-02-05
        • 1970-01-01
        相关资源
        最近更新 更多