Reputation: 1511
I would like to call a method that takes an NSNotification immediately after the user presses the camera shutter (i.e when the "Preview" tab bar has the buttons "Retake" and "Use").
I can't use the didFinishPickingImage method because at this time the user has already pressed the "Use" button.
I have already implemented this by cameraOverlayView property of UIImagePickerController(see comments), but I wonder whether there are quicker ways of 'observing' this action.
Any ideas?
Upvotes: 1
Views: 4378
Reputation: 1053
To learn about camera button press event, you can fire a NSNotification
for it.
// Add observer for when camera button is pressed
NSNotificationCenter.defaultCenter().addObserver(self, selector: @selector(yourFunctionToPerform), name: "_UIImagePickerControllerUserDidCaptureItem", object: nil)
Also add the following method to the ViewController
where you are creating ImagePickerViewController
:
-(void) yourFunctionToPerform{
//Do what you want to do on Camera button tap event
}
I was searching for this problem too, the key/name for the event is really obscure.
Upvotes: 4
Reputation: 27485
You CAN display it AFTER they choose the image.
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)image
editingInfo:(NSDictionary *)editingInfo
{
//Display the UIAlertView
[alertView show];
//Just never use the image
}
If you don't want to use the image you really don't have to
Upvotes: -2