【Swift】アルバムとカメラを起動する
完成図
(アルバム画面はEvernoteのものです。)
解説
過去に同じ記事を書いたが、
というテキトーな記事だったのに、新たに書き直した。
※注意
下記のソースコードに加え、ナビゲーターエリア(左のメニュー)にある、
- info.plist
に変更を加える必要がある。
下記の2つ(Key)を追加し、それぞれを起動する際にアラートで表示したい文章(Value)を入力すればいい。
↓
- Privacy - Photo Library Usage Description //アルバム
- Privacy - Camera Usage Description //カメラ
ソースコード
import UIKit class ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate{ @IBOutlet weak var imageView: UIImageView! @IBAction func button(_ sender: Any) { //アルバムを起動 changeImage() } func changeImage() { //アルバムを指定 //SourceType.camera:カメラを指定 //SourceType.photoLibrary:アルバムを指定 let sourceType:UIImagePickerController.SourceType = UIImagePickerController.SourceType.photoLibrary //アルバムを立ち上げる if UIImagePickerController.isSourceTypeAvailable(UIImagePickerController.SourceType.photoLibrary){ // インスタンスの作成 let cameraPicker = UIImagePickerController() cameraPicker.sourceType = sourceType cameraPicker.delegate = self //アルバム画面を開く self.present(cameraPicker, animated: true, completion: nil) } } //アルバム画面で写真を選択した時 func imagePickerController(_ picker: UIImagePickerController,didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { //imageにアルバムで選択した画像が格納される if let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage { //ImageViewに表示 self.imageView.image = image //アルバム画面を閉じる self.dismiss(animated: true, completion: nil) } } }