1

フォトアルバムから写真を選択するようにIPADを取得しようとしています

            pickerController = [ [ UIImagePickerController alloc ] init ] ;
            pickerController.delegate   = self ;
            pickerController.editing    = NO ;
            pickerController.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

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

iPad で使用するとアプリがクラッシュし続けますが、iPhone では問題なく動作します。

4

1 に答える 1

6

これも前に手に入れました。iPad でソース タイプを指定する場合、UIImagePickerControllerSourceTypePhotoLibraryまたはUIImagePickerControllerSourceTypeSavedPhotoAlbumポップオーバー コントローラーを使用してイメージ ピッカー コントローラーを表示する必要がある場合。あなたがやっているようにモーダルに提示しようとすると、例外が発生します。

100% 必須というわけではありませんが、テストを使用して、利用可能なソースの種類を確認することもお勧めします。

[UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]

ソースの種類は次のとおりです。

  • UIImagePickerControllerSourceTypePhotoLibrary
  • UIImagePickerControllerSourceTypeSavedPhotosAlbum
  • UIImagePickerControllerSourceTypeCamera

これが、この問題を解決してiPadかどうかをテストする方法です。

if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){

    UIPopoverController* popOverController = [[UIPopoverController alloc] initWithContentViewController:imagePickerController];
    [popOverController presentPopoverFromRect:selectVideoToViewButton.bounds inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

}else {
    [self presentModalViewController:self.imagePickerController animated:YES];
}
于 2012-08-03T00:58:33.767 に答える