2014-09-09 3 views
0

Так что я пытаюсь сделать здесь, это просто открыть рулон камеры из пользовательского оверлея камеры. Я реализовал пользовательский режим overlayView камеры, создал UIImagePickerController и заменил наложение по умолчанию своим пользовательским. Затем я создал другой экземпляр UIImagePickerController, установил sourceType в PhotoLibrary и попытался представить его при нажатии кнопки на overlayView.Как представить UIImagePicker внутри камеры

ниже сообщение об ошибке показывает, когда я нажимаю кнопку:

Warning: Attempt to present <UIImagePickerController: 0x14da5440> on <UINavigationController: 0x14e63760> whose view is not in the window hierarchy! 

Вот мой код:

- (IBAction)select:(id)sender 
{ 

    if ([UIImagePickerController isSourceTypeAvailable: 
     UIImagePickerControllerSourceTypeSavedPhotosAlbum]) 
    { 
     UIImagePickerController *imagePicker = 
     [[UIImagePickerController alloc] init]; 
     imagePicker.delegate = self; 
     imagePicker.sourceType = 
     UIImagePickerControllerSourceTypePhotoLibrary; 
     imagePicker.allowsEditing = NO; 
     [self presentViewController:imagePicker 
          animated:YES completion:nil]; 
    } 
} 

Кто-нибудь знает, что это проблема?

Спасибо!

ответ

-5

вам нужно использовать блок завершения для данного одного контроллера представления, когда другой вид контроллера распускать, как следующее:

[self dismissViewControllerAnimated:YES completion:^{ 

      [self presentViewController:imagePicker 
            animated:YES completion:nil]; 

    }]; 
Смежные вопросы