(Xcode/iPhone)カメラアプリ制作、の勉強メモ。
「フレームワーク」
UIKit
「クラス」
UIImagePickerControllerクラス
UIImageViewクラス
UIToolBarクラス
UIToolBarButtonItemクラス
「カメラを起動する」
- (IBAction)showImagePicker:(id)sender {
UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;
if ([UIImagePickerController isSourceTypeAvailable:sourceType]) {
UIImagePickerController *picker = [[UIImagePickerControlleralloc] init];
picker.sourceType = sourceType;
picker.delegate = self;
[selfpresentViewController:picker animated:YEScompletion:NULL];
}
}
・カメラの画面を表示するためにモーダルビューコントローラを作成
・写真の取得方法が格納されているsourceType変数をモーダルビューコントローラに設定
・モーダルビューコントローラのデリゲートにViewControllerクラスを設定
・モーダルビューコントローラを表示することでカメラ画面を表示
「写真を表示する」
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
[selfdismissViewControllerAnimated:YEScompletion:^{
self.imageView.image = image;
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
}];
}
・dismissViewControllerAnimated:completion:メソッドを使用して、モーダルビューコントローラを消してカメラ画面を取り下げる
・画面上に画像を表示
・UIImageWriteToSavedPhotosAlbum()関数を使用してアルバムに画像を保存
「写真の取得方法」
UIImagePickerControllerSourceTypePhotoLibrary(写真アルバムから取得、写真アルバムが表示)
UIImagePickerControllerSourceTypeCamera(カメラで撮影して取得、カメラが起動)
UIImagePickerControllerSourceTypeSavedPhotosAlbum(写真アルバム内のカメラロールから取得、カメラロールの画面が表示)
「まとめ」
・カメラを起動するにはUIImagePickerControllerクラスを使用
・撮影した画像はimagePickerController:didFinishPickingMediaWithInfo:メソッドで取得
・イメージビューの画像を変更する場合はimageプロパティにUIImageクラスのインスタンスを代入
・画像を写真アルバムに保存する場合はUIImageWriteToSavedPhotoAlbum()関数を使用