gpt4 book ai didi

ios - 尝试删除覆盖时相机捕获崩溃

转载 作者:行者123 更新时间:2023-11-28 06:56:56 27 4
gpt4 key购买 nike

我声明:

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
}

现在一切正常,覆盖大部分时间都被移除,但在随机情况下,应用程序崩溃:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Source type must be UIImagePickerControllerSourceTypeCamera'

我的猜测是,这与执行删除覆盖命令的时间有关,但不知道如何从这里开始。有什么见解吗?

最佳答案

通过添加检查修复它:

if image.cameraOverlayView != nil { 
image.cameraOverlayView = nil
}

关于ios - 尝试删除覆盖时相机捕获崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33265614/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com