[英]Camera capture crash when trying to remove overlay
我在聲明:
let image = UIImagePickerController()
然后設置:
image.delegate = self
image.sourceType = .Camera
image.cameraDevice = .Front
image.allowsEditing = false
然后將疊加層添加到相機:
let overlay = self.storyboard?.instantiateViewControllerWithIdentifier("OverlayVC")
image.cameraOverlayView = overlay?.view
然后展示相機:
self.presentViewController(image, animated: true, completion: nil)
然后我拍照,這時我的觀察者踢了進來:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "removeOverlay", name: "_UIImagePickerControllerUserDidCaptureItem", object: nil)
並嘗試執行:
func removeOverlay() {
image.cameraOverlayView = nil
}
現在,一切正常,大部分時間都刪除了重疊式廣告,但是在隨機情況下,應用崩潰了:
由於未捕獲的異常“ NSInvalidArgumentException”而終止應用程序,原因:“源類型必須為UIImagePickerControllerSourceTypeCamera”
我的猜測是,這與執行我的remove overlay命令的時間有關,但不知道如何從此處進行。 有見識嗎?
通過添加檢查來修復它:
if image.cameraOverlayView != nil {
image.cameraOverlayView = nil
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.