UIImagePickerController黑屏问题

时间:2016-08-29 22:06:45

标签: ios swift uikit

我的应用程序使用UIImagePickerController实例,如下所示:

  1. 在相机和保存照片视图之间提供具有分割视图的UI。
  2. 已保存照片视图包含集合视图
  3. 摄像机视图包含一个容器视图,该视图将UIImagePickerController添加为源类型为UIImagePickerControllerSourceType.Camera的子视图控制器
  4. 与许多其他人似乎面临的问题一样,当我导航到其他视图控制器并返回到起始视图控制器时,摄像机视图变为黑色。相机控制功能仍然可以拍照,但视图仍然是全黑的。

    我尝试了以下解决方案:

    1. 删除以前的子视图控制器实例,并在viewDidAppear中每次创建并添加一个新实例。这有效,但似乎完全没必要。
    2. imagePickerController视图添加为容器视图的子视图,但不调用addChildViewControllerdidMoveToParentViewController。这显然看起来很糟糕,因为它打破了UIKit中视图控制器的父子范式。
    3. 我认为第二种解决方案有效,因为imagePickerController不是子视图控制器,因此它不会通知viewDidAppearviewDidDisappear等事件它的父母(因为它没有父母)。

      还有其他方法可以解决这个问题吗? 你们中的任何人都知道这个问题存在的确切原因吗?

1 个答案:

答案 0 :(得分:0)

我想你可以在viewWillAppear()中使用UIImagePickerViewController的这个函数'startVideoCapture()'。