Dismissing UIImagePickerController

4.9k views Asked by At

I have the following code:

SecondViewController *secondView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];

[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[imagePicker setCameraOverlayView:secondView.view];
[imagePicker setShowsCameraControls:NO];

[self presentModalViewController:imagePicker animated:YES];

My question is: How can I dismiss the ModalViewController from "SecondViewController"?

2

There are 2 answers

2
Nick Bedford On BEST ANSWER

You must call the following on imagePicker from a UIImagePickerControllerDelegate method in secondView.

For example:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    // process message
    [imagePicker dismissModalViewControllerAnimated:YES];
}
0
Chris On

The accepted answer no longer works in iOS7. Below is the method which should be used instead.

Again, this method should be called on the UIImagePicker from the UIImagePickerControllerDelegate.

-(void) imagePickerController:(UIImagePickerController *)picker
             didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [[picker presentingViewController] dismissViewControllerAnimated:YES completion:NULL];

}