我有一个UIImagePickerController和一个cameraOverlayView,但是当用户拍照后,在“预览/使用照片/重新拍照”视图中,cameraOverlay视图仍然存在。
是否有一种方法只为第一个相机视图定义cameraOverlayView?
我有一个UIImagePickerController和一个cameraOverlayView,但是当用户拍照后,在“预览/使用照片/重新拍照”视图中,cameraOverlay视图仍然存在。
是否有一种方法只为第一个相机视图定义cameraOverlayView?
如果有人需要,我在这里发布一下以备将来参考。
我遇到了相同的问题,在经过一天的研究并进行了大量的尝试后,我找到了一种方法,可以从图像预览中移除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
})
预览由UIImagePickerController为您处理,覆盖层一直可见,直到控制器被解除。
我不知道有任何改变此行为的方法。