私はグーグルでこれを検索すると多くの記事を見つけることができますが、本当にこのケースをカバーするものはありませんので、私は非常に具体的にしようとします。 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上で、これは他にも例外がスローされます設定する必要がありますどのようになるので、私はポップオーバー提示様式を使用しています:私は、ユーザーが次のコードで彼のアルバムから画像を選択できるようにしようとしています:
の表は、 フォトライブラリまたはsavedPhotosAlbumのソース・タイプを指定した場合のiPadに、あなたは( 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をfalseに横向きと設定shouldAutorotateをサポートするために、私はこれは無用だと思いますここで失敗したクラスはPUUIAlbumListViewControllerです
- 私のアプリがポートレートをサポートするように設定すると、これは動作しますが、アプリケーション全体電話でのotorates、これは
- は中間UIPopoverPresentationControllerを使用して起こることを意味していないのではなく、決して何も
UPDATE ない答えが、私がいないように見えるかもしれほどクレイジーを表示するためにこれを得ましたこれは実行可能だと思う。すべてが意味をなさない最先端のAPIを提供してくれたAppleに感謝します。 私はDKImagePickerControllerを使用して終了しました。完全に仕事をします