Закрытие UIImagePickerController

У меня есть следующий код:

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

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

[self presentModalViewController:imagePicker animated:YES];

Мой вопрос: как я могу отклонить ModalViewController от «SecondViewController»?


person isiaatz    schedule 08.10.2009    source источник


Ответы (2)


Вы должны вызвать следующее для imagePicker из метода UIImagePickerControllerDelegate в secondView.

Например:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    // process message
    [imagePicker dismissModalViewControllerAnimated:YES];
}
person Nick Bedford    schedule 09.10.2009
comment
почти; secondView.view - это наложение, а не делегат. Вам также необходимо установить делегат средства выбора изображения на secondView. - person Ed Marty; 09.10.2009
comment
примечание: dismissModalViewControllerAnimated: больше не поддерживается в iOS6. - person Raptor; 25.07.2013

Принятый ответ больше не работает в iOS7. Ниже приведен метод, который следует использовать вместо этого.

Опять же, этот метод следует вызывать для UIImagePicker из UIImagePickerControllerDelegate.

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

}
person Chris    schedule 13.02.2014