2016-03-28 43 views
1

A UIViewController試圖呈現UIImagePickerController,該應用尚未請求訪問照片庫的權限。如何防止請求照片訪問時視圖消失?

因此,在展示UIImagePickerController之前,iOS會顯示UIAlertController以要求用戶允許或拒絕訪問照片。但是,先前可見的視圖已被刪除,因此警報將顯示在底層視圖控制器的視圖上。

如何防止當前視圖開始移除或至少防止在顯示警報時顯示底層視圖?

回答

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:視圖的演講風格,其中呈現視圖 涵蓋了屏幕。在演示完成時,視圖層次下方的視圖不是 。因此,如果 所呈現的視圖控制器不填充屏幕上的不透明 內容,底層內容通過顯示。