現状のswiftの動き
①「フォトライブラリを開く」のボタンを押すと、フォトライブラリが開く。
②画像を選択すると、UIImageView(firstSampleView)に表示される。
実現したいこと
上記のボタンが2つあり、2つ目のボタンで選択した画像を、
secondSampleViewに表示させたいです。
現状、エラーになるか、2つ目のボタンで画像を選択しても、1つ目のfirstSampleViewに表示されてしまいます。
ご教授のほど、よろしくお願い致します。
該当のソースコード
import UIKit class ViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate { var myImagePicker: UIImagePickerController! var secondMyImagePicker: UIImagePickerController! @IBOutlet weak var firstSampleView: UIImageView! @IBOutlet weak var secondSampleView: UIImageView! //「フォトライブラリを開く」ボタンを押すとフォトライブラリが起動 //画像は選択できるが、sampleViewに表示はされない。 @IBAction func photoLibraryButton(_ sender: Any) { // インスタンス生成 myImagePicker = UIImagePickerController() // デリゲート設定 myImagePicker.delegate = self //ここでイメージピッカーを表示させる。 present(myImagePicker, animated: true, completion: nil) } @IBAction func secondPhotoLibraryButton(_ sender: Any) { secondMyImagePicker = UIImagePickerController() secondMyImagePicker.delegate = self present(secondMyImagePicker, animated: true, completion: nil) } //画像が選択された時に呼ばれるメソッド //選択したイメージを表示する func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey :Any]) { 【ここで、photoLibraryButtonで選択した画像を、firstSampleViewに、 secondPhotoLibraryButtonで選択した画像を、secondSampleViewに、表示させるコードを記載すれば良いと 思うのですが、うまくいきません。if myImage == myImagePicker等でできると思ったのですが、できませんでした。】 //選択された画像を取得 if let myImage = info[.originalImage] as? UIImage { // 画面に画像を表示する firstSampleView.image = myImage //イメージピッカーを消す self.dismiss(animated: true, completion: nil) } } //画像選択がキャンセルされた時に呼ばれる. func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { // イメージピッカーを消す self.dismiss(animated: true, completion: nil) } override func viewDidLoad() { super.viewDidLoad() } }
使用している言語
swift
Xvode 11.4
ご教授のほど、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー