UIImagePicker cameraOverlayView appears on Retake screen
Asked Answered
E

2

19

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?

Eigenfunction answered 30/7, 2013 at 8:53 Comment(0)
E
32

Solved by signing up to NSNotificationCenter, and listening to @"_UIImagePickerControllerUserDidCaptureItem" and @"_UIImagePickerControllerUserDidRejectItem".

Eigenfunction answered 31/7, 2013 at 14:37 Comment(4)
You saved my day! I knew it would be possible. Thanks a lot. I added a code example.Disappearance
@Eigenfunction are these notifications are private APIs? have you submitted any app to iTunes that uses these notifications? does apple approved your app?Damning
@Bhushan, as far as I know they are not private API, and I have successfully submitted an app to the AppStore which utilizes these notifications.Eigenfunction
Didn't check it, but probably, since the notifications are broadcasted by the OSEigenfunction
T
6

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")
    })
Tectonics answered 11/10, 2018 at 18:41 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.