Я нахожу много статей, когда это касается Google, но ни один из них, похоже, действительно не охватывает этот случай, поэтому я постараюсь быть очень конкретным. У меня есть приложение для пейзажа только для iPhone и iPad. Я пытаюсь дать пользователю возможность выбрать изображение из своего альбома со следующим кодом:UIImagePickerController, чтобы выбрать из альбома в ландшафте только приложение для iPhone/iPad
let imagePicker = UIImagePickerController()
imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
imagePicker.mediaTypes = [kUTTypeImage as String]
imagePicker.modalPresentationStyle = UIModalPresentationStyle.Popover
imagePicker.allowsEditing = false
context.presentViewController(imagePicker, animated: true, completion: {
() -> Void in
})
Я использую стиль презентации поповер потому Apple mentions что на IPad это, как он должен быть установлен в противном случае будет сгенерировано исключение :
таблица показывает, что на IPad, если указать тип источника PhotoLibrary или savedPhotosAlbum, вы должны представить сборщик изображений с помощью контроллера поповера (чтобы узнать, как это сделать, см UIPopoverPresentationController). Если вы попытаетесь представить изображение выборщик по умолчанию (полноэкранный) для выбора среди сохраненных изображений и фильмов, система вызывает исключение.
Это терпит неудачу с ниже ошибки
*** Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'Supported orientations has no common orientation with the application, and [PUUIAlbumListViewController shouldAutorotate] is returning YES'
То, что я пытался:
- Подкласс UIImagePickerController и UIViewController для поддержки альбомной ориентации установите shouldAutorotate ложь, но я думаю, что это бесполезно поскольку здесь не работает класс PUUIAlbumListViewController
- Установите мое приложение для поддержки Portrait, это работает, но затем все приложение aut otorates с телефоном, и это не должно произойти
- использовать промежуточный UIPopoverPresentationController, но никогда не получал это, чтобы показать что-нибудь
UPDATE не ответ, но, как сумасшедший, как это может показаться, я не подумайте, что это выполнимо. Спасибо Apple за предоставление современного API, в котором все имеет смысл. Я закончил с использованием DKImagePickerController, делает работу отлично