Edited at

【iOS】【swift】カメラ・アルバムへのアクセスし静止画の取得 UIImagePickerController

More than 3 years have passed since last update.

かなり基本的な事ですが、色々書き直しているので、メモがてら。


SourceTypeの対応チェック

例えばシュミレータでカメラを起動しようすると落ちるので。


if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera)
{
//camera ok

}


カメラ・アルバムの起動


let ipc:UIImagePickerController = UIImagePickerController();
ipc.delegate = self
ipc.sourceType = UIImagePickerControllerSourceType.Camera
// UIImagePickerControllerSourceType.PhotoLibraryでアルバムへのアクセス
self.presentViewController(ipc, animated:true, completion:nil)


プロトコルの指定


//ViewController内であれば
class ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate {

UINavigationControllerDelegateもいります。


delegateで画像の取得


func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
if info[UIImagePickerControllerOriginalImage] != nil {
let image:UIImage = info[UIImagePickerControllerOriginalImage] as UIImage
}
//allowsEditingがtrueの場合 UIImagePickerControllerEditedImage
//閉じる処理
picker.dismissViewControllerAnimated(true, completion: nil);
}