ボタンをタップしたらテキストフィールドに打った文字と表示した画像が画面遷移先にそのまま表示されるという機能を作りたいです。
文字の値渡しだけでもと、IBActionを使い遷移先で表示するコードはできましたが、
これだと、同時に渡すことができません。
self.dismiss(animated: true)
の後に画面遷移と値渡し、画像の参照参照渡しがしたかったため、ボタンアクションを入れようとしましたが、入りませんでした。遷移先に値渡しをするにはどうすればよいのでしょうか?回答いただければ嬉しいです。
swift
1 2 @IBAction func next(_ sender: Any) { 3 4 let viewController = posterViewController.makeInstance(textLabel: textFieldView.text) 5 self.present(viewController, animated: true, completion: nil) 6 } 7} 8 9 // 写真を選んだ後に呼ばれる処理 10extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate { 11 // 写真を選んだ後に呼ばれる処理 12 func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { 13 // 選択した写真を取得する 14 let image = info[.originalImage] as! UIImage 15 // ビューに表示する 16 imageView.image = image 17 // 写真を選ぶビューを引っ込める 18 self.dismiss(animated: true) 19 20 } 21}
遷移先
class posterViewController: UIViewController{ @IBOutlet weak var textLabelView: UILabel! private var textLabel: String? static func makeInstance(textLabel: String?) -> posterViewController { let storyboard: UIStoryboard = UIStoryboard(name: "poster", bundle: nil) let viewController = storyboard.instantiateViewController(withIdentifier: "posterViewController") as! posterViewController viewController.textLabel = textLabel return viewController } override func viewDidLoad() { super.viewDidLoad() textLabelView.text = textLabel } }
開発環境
swift5 xcode12.1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/11/18 04:24