現状のswiftの動き
①アイコンをタップすると遷移先のControllerから、フォトライブラリが開く。
②画像を選択すると、遷移前のUIImageViewにセットされる。
実現したいこと
アイコンをタップすると自動的にフォトライブラリが開くのではなく、
遷移前にあるボタンを押すことで、フォトライブラリが開くようにしたいです。
ご教授のほど、よろしくお願い致します。
storybord
該当のソースコード
import UIKit class ViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate { var myImagePicker: UIImagePickerController! var myImageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() self.title = "Select a Image" myImageView = UIImageView(frame: self.view.bounds) // インスタンス生成 myImagePicker = UIImagePickerController() // デリゲート設定 myImagePicker.delegate = self // 画像の取得先はフォトライブラリ myImagePicker.sourceType = UIImagePickerController.SourceType.photoLibrary // 画像取得後の編集を不可に myImagePicker.allowsEditing = false } override func viewDidAppear(_ animated: Bool) { self.present(myImagePicker, animated: true, completion: nil) } /** 画像が選択された時に呼ばれる. */ func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { //選択された画像を取得. let myImage: AnyObject? = info[UIImagePickerController.InfoKey.originalImage] as AnyObject //選択された画像を表示するViewControllerを生成. let secondViewController = SecondViewController() //選択された画像を表示するViewContorllerにセットする. secondViewController.mySelectedImage = myImage as? UIImage myImagePicker.pushViewController(secondViewController, animated: true) } /** 画像選択がキャンセルされた時に呼ばれる. */ func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { // モーダルビューを閉じる self.dismiss(animated: true, completion: nil) } }
画面遷移先のコード
import Foundation import UIKit class SecondViewController: UIViewController { var mySelectedImage: UIImage! var mySelectedImageView: UIImageView! override func viewDidLoad() { self.edgesForExtendedLayout = [] self.view.backgroundColor = UIColor.white setImage() } /** 選択された画像をUIImageViewにセットする. */ func setImage(){ self.title = "Selected Image" mySelectedImageView = UIImageView(frame: self.view.bounds) mySelectedImageView.contentMode = UIView.ContentMode.scaleAspectFit mySelectedImageView.image = mySelectedImage self.view.addSubview(mySelectedImageView) } }
使用している言語
swift
Xvode 11.4
ご教授のほど、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/08 03:31
2020/05/08 06:40
2020/05/08 10:16
2020/05/08 23:02
2020/05/08 23:04
2020/05/09 11:00
2020/05/09 11:00
2020/05/09 11:24
2020/05/09 12:55
2020/05/09 13:32
2020/05/09 14:48
2020/05/09 14:53
2020/05/09 14:59
2020/05/10 00:43
2020/05/10 02:00
2020/05/10 02:41
2020/05/10 02:41
2020/05/10 02:59