我有一个UIImagePickerController和一个cameraOverlayView,但是当用户拍照时,cameraOverlay视图仍保留在'预览/使用照片/重拍照片视图'中。
有没有办法为第一个摄像机视图定义cameraOverlayView?
答案 0 :(得分:3)
如果有人需要,只需在此处发布以供将来参考。
我一直有同样的问题,经过一天的研究,经历了大量的追踪和错误,我找到了一种方法,可以从图像预览中删除cameraOverlayView。
当您拍照时," _UIImagePickerControllerUserDidCaptureItem"触发。幸运的是,我们可以通过创建一个带闭包的观察者来利用它。在闭包内部,我们可以将cameraOverlayView设置为nil,从而在进入预览之前删除自定义视图。
这适用于Xcode版本8.1(8B62),使用Swift 3。
我已添加了代码段,供您根据需要使用。
NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "_UIImagePickerControllerUserDidCaptureItem"), object:nil, queue:nil, using: { note in
self.imagePicker.cameraOverlayView = nil
})
答案 1 :(得分:0)
预览由UIImagePickerController为您处理,并且覆盖始终可见,直到控制器被解除。
我不知道有什么方法可以改变这种行为。