2012年2月25日土曜日

[objective-c] iPadでのUIImagePickerControllerの使い方

カメラを使う時のクラスとしてUIImagePickerControllerがありますが
iPadでこれを使う場合、iPhoneアプリと同様にコードを書くと動かない場合があります。


UIImagePickerController imagePicker = [[UIImagePickerController alloc] init];
 imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
 imagePicker.mediaTypes = [NSArray arrayWithObject:@"public.image"];
 imagePicker.delegate = self;
 [self presentModalViewController:imagePicker animated:YES];
 [imagePicker release];

iPhoneアプリ同様でOK


UIImagePickerController imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.delegate = self;
 [self presentModalViewController:imagePicker animated:YES];
 [imagePicker release];

としたいところですがこれでは駄目

UIImagePickerController imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.delegate = self;
UIPopoverController uiPopoverController = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
[uiPopoverController presentPopoverFromBarButtonItem:targetElm // 基点となるUI
                                       permittedArrowDirections:UIPopoverArrowDirectionAny 
                                                       animated:YES];

UIPopoverControllerでラップすることによって表示することが可能です。

0 件のコメント:

コメントを投稿