質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

543閲覧

画像の参照渡しについて

退会済みユーザー

退会済みユーザー

総合スコア0

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/11/16 12:37

ボタンをタップしたらテキストフィールドに打った文字と表示した画像が画面遷移先にそのまま表示されるという機能を作りたいです。
文字の値渡しだけでもと、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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

遷移先の makeInstance にて文字列しか渡していないので、画像を渡せばいいですよ。
型はUIImageで良いです。

例えばこんな感じです。
makeInstance(text: String, image: UIImage)

投稿2020/11/16 14:24

errolizer

総合スコア443

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/11/18 04:24

遷移先にmakeinstance(text: String,image:UIimage)打ったら、遷移先はエラーは出なかったのですが、遷移前のmakeInstance(textLabel: textFieldView.text)にエラーが出ました。makeInstance(textLabel: textFieldView.text)で文字列を渡すだけでなく画像を渡さなけばいけないということでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問