Отсутствуют кнопки навигации в UIImagePickerController при добавлении в UIPopoverController - PullRequest
1 голос
/ 16 ноября 2011

У меня странная проблема. Кнопка отмены, которая обычно отображается на панели навигации при добавлении UIImagePickerController, отсутствует, когда я добавляю ее в свой UIPopoverController.

Я попытался создать подкласс UIImagePickerController и сам добавить кнопку навигации на панель навигации, но она не появилась.

Если я выбираю рулон камеры, автоматически добавляется кнопка «Назад», но кнопка отмены по-прежнему отсутствует.

Кто-нибудь знает, что может вызвать это?

Вот код, который я использую. Обратите внимание, что _popOver является экземпляром моего UIPopoverController.

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[_popOver setContentViewController:picker animated:YES];

1 Ответ

1 голос
/ 16 ноября 2011

Я пробовал этот код, и теперь я думаю, что это поведение по умолчанию. UIImagePickerController обычно представлен как модальный контроллер вида, и цель кнопки «Отмена» - отклонить его. Когда вы помещаете UIImagePickerController в UIPopoverController, кнопка «Отмена» теряет смысл. Для отклонения этого вы можете просто нажать в любом месте (кроме представления UIPopoverController). Если вы хотите получить доступ к UIImagePickerController, когда UIPopoverController будет / был отклонен, используйте метод UIPopoverControllerDelegate:

- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController{
    UIImagePickerController *imagePicker = (UIImagePickerController*)popoverController.contentViewController;
    return YES;
}
...