如何防止视图在请求照片访问时消失?

时间:2016-03-28 13:54:32

标签: ios swift uiviewcontroller uiimagepickercontroller

UIViewController尝试展示UIImagePickerController且该应用尚未请求访问照片库的权限。

因此,在展示UIImagePickerController iOS之前,会显示UIAlertController,要求用户允许或拒绝访问照片。但是,先前可见的视图已被删除,因此警报将显示在基础视图控制器的视图上。

如何阻止当前视图开始删除或至少阻止在显示警报时显示基础视图?

1 个答案:

答案 0 :(得分:0)

找到它:

UIImagePickerController必须将其属性modalPresentationStyle设置为.Over...值,以便在转换完成后基础屏幕不会消失。

所以而不是

self.modalPresentationStyle = .FullScreen

应该设置为其中一个

self.modalPresentationStyle = .OverFullScreen
self.modalPresentationStyle = .OverCurrentContext  // In this case also set `definesPresentationContext = true` for the presenting view controller.

来自documentation

  

OverFullScreen:视图演示样式,其中显示了视图   覆盖屏幕。所呈现内容下方的观点不是   演示文稿完成后从视图层次结构中删除。因此,如果   呈现的视图控制器不会使用opaque填充屏幕   内容,基础内容通过显示。