This repository has been archived by the owner on Jun 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 336
5.1 UIImagePickerController
tamotamago edited this page May 7, 2013
·
10 revisions
UIImagePickerController Class Reference
UIImagePickerController Delegate Protocol
UIImagePickerController を使って iPhone の中にあるメディアを参照してみましょう。
(UIImagePicker を使うことでデバイスのカメラ機能も呼び出すことが出来ますが、実機のみの確認となりますので本研修からは省略します)
実際にインスタンスを作成してモーダルとして表示させます。
UIImagePickerController 作成時に重要なプロパティがあります。
- sourceType : イメージッピッカーをカメラキャプチャとして起動するか、フォトライブラリへの参照として起動するか
- allowsEditing : 選択したメディアの編集(拡大縮小など)を許可する
- mediaTypes : Photo, Movie のどのメディアを選択可能にするか
mediaTypes
allowEditing
- (IBAction)pressCameraButton:(id)sender
{
UIImagePickerController *imagePickerVC = [[UIImagePickerController alloc] init];
// UIImagePickerControllerSourceTypeSavedPhotosAlbum だと直接写真選択画面
imagePickerVC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
// 選択したメディアの編集を可能にするかどうか
imagePickerVC.allowsEditing = YES;
// 選択可能なメディアの制限 デフォルトは photo のみ。
// movie を選択可能にするには
// imagePickerVC.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:imagePickerVC.sourceType];
imagePickerVC.delegate = self;
[self presentViewController:imagePickerVC animated:YES completion:nil];
}
UIImagePickerController の mediaType は default kUTTypeImage で写真のみの選択が可能となっています。
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
を実装して、写真選択完了のイベントを取得しましょう。
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissViewControllerAnimated:YES completion:nil];
[_photoImageView setImage:info[UIImagePickerControllerOriginalImage]];
}
photo 選択の場合 info の中身
{
UIImagePickerControllerCropRect = "NSRect: {{0, 0}, {300, 33}}";
UIImagePickerControllerEditedImage = "<UIImage: 0x7569090>";
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerOriginalImage = "<UIImage: 0x753ddc0>";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.PNG?id=0CF2CC3D-4F4D-4CA3-91D3-0CD0A95AFBBF&ext=PNG";
}
下図のような画面遷移を実装してください。
はじめに
-
導入
-
1.3 UIViewController1 UIViewController のカスタマイズ(xib, autoresizing)
-
UIKit 1 - container, rotate-
-
UIKit 2- UIView -
-
UIKit 3 - table view -
-
UIKit 4 - image and text -
-
ネットワーク処理
-
ローカルキャッシュと通知
-
Blocks, GCD
-
設計とデザインパターン
-
開発ツール
-
テスト
-
In-App Purchase
-
付録