I am struggling with a problem. I am capturing a video, and i had put an UIImageView with an UIImage in it as the UIImagePicker CameraOverLay. So when the user starts the camera in order to capture a video, he can see an overlay on the camera. When the user stops capturing, and is being moved to the "cancel or Retake" screen of the UIImagePicker, the cameraOverlayView is still visible.
any ideas on how to not display the overlay in the "retake or cancel" screen?
Solved by signing up to NSNotificationCenter, and listening to @"_UIImagePickerControllerUserDidCaptureItem" and @"_UIImagePickerControllerUserDidRejectItem".
For Swift 4, it is:
NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "_UIImagePickerControllerUserDidCaptureItem"), object:nil, queue:nil, using: { note in
print("camera did capture")
})
NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "_UIImagePickerControllerUserDidRejectItem"), object:nil, queue:nil, using: { note in
print("user pressed Retake")
})
来源:https://stackoverflow.com/questions/17942444/uiimagepicker-cameraoverlayview-appears-on-retake-screen