UIViewController
尝试展示UIImagePickerController
且该应用尚未请求访问照片库的权限。
因此,在展示UIImagePickerController
iOS之前,会显示UIAlertController
,要求用户允许或拒绝访问照片。但是,先前可见的视图已被删除,因此警报将显示在基础视图控制器的视图上。
如何阻止当前视图开始删除或至少阻止在显示警报时显示基础视图?
答案 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.
OverFullScreen:视图演示样式,其中显示了视图 覆盖屏幕。所呈现内容下方的观点不是 演示文稿完成后从视图层次结构中删除。因此,如果 呈现的视图控制器不会使用opaque填充屏幕 内容,基础内容通过显示。