Domanda

Ho il seguente codice:

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

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

[self presentModalViewController:imagePicker animated:YES];

La mia domanda è: come posso respingere il ModalViewController da "SecondViewController"

?
È stato utile?

Soluzione

È necessario chiamare il seguente su imagePicker da un metodo UIImagePickerControllerDelegate in secondView.

Ad esempio:

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

Altri suggerimenti

La risposta accettata non funziona più in iOS7. Sotto è il metodo che dovrebbe essere utilizzato invece.

Anche questo metodo dovrebbe essere chiamato sulla UIImagePicker dal UIImagePickerControllerDelegate.

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

}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top