回答編集履歴

2

追記

2020/05/13 00:28

投稿

tsuki01
tsuki01

スコア1751

test CHANGED
@@ -47,3 +47,125 @@
47
47
  }
48
48
 
49
49
  ```
50
+
51
+
52
+
53
+ ---
54
+
55
+
56
+
57
+ ### 5/13追記
58
+
59
+ 頂いたコメントに対して回答させて頂きます。
60
+
61
+
62
+
63
+ **「// ここに、ボタン押下で UIImagePickerController() を表示させた時の処理を記載する」とソースに記載してましたが、PickerViewの選択完了時メソッド内にボタン押下時メソッドを全て含める訳ではありません。**
64
+
65
+ ※コメント内のソースは、メソッド内に以下メソッドがあったりして文法的におかしくなっていると思います。
66
+
67
+
68
+
69
+ 質問者様がボタン押下時のメソッド内で実装している以下処理を、PickerViewの選択完了時メソッド内のIF文に記載するイメージです。
70
+
71
+ ```Swift
72
+
73
+ // インスタンス生成
74
+
75
+ myImagePicker = UIImagePickerController()
76
+
77
+
78
+
79
+ // デリゲート設定
80
+
81
+ myImagePicker.delegate = self
82
+
83
+
84
+
85
+ //ここでイメージピッカーを表示させる。
86
+
87
+ present(myImagePicker, animated: true, completion: nil)
88
+
89
+ ```
90
+
91
+
92
+
93
+ ・サンプル
94
+
95
+ ```Swift
96
+
97
+ func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
98
+
99
+ textField.text = data[row]
100
+
101
+ result.text = data[row]
102
+
103
+
104
+
105
+ // 以下の条件分岐を追加
106
+
107
+ if (data[row] == "Photo") { // または、「if (row == 4)」 という書き方でも通るはずです
108
+
109
+
110
+
111
+ // ここに、ボタン押下で UIImagePickerController() を表示させた時の処理を記載する
112
+
113
+ // インスタンス生成
114
+
115
+ myImagePicker = UIImagePickerController()
116
+
117
+
118
+
119
+ // デリゲート設定
120
+
121
+ myImagePicker.delegate = self
122
+
123
+
124
+
125
+ //ここでイメージピッカーを表示させる。
126
+
127
+ present(myImagePicker, animated: true, completion: nil)
128
+
129
+ }
130
+
131
+ }
132
+
133
+
134
+
135
+ // ライブラリが閉じると、遷移前のimageViewに表示される。
136
+
137
+ func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
138
+
139
+
140
+
141
+ // 選択された画像を取得
142
+
143
+ if let myImage = info[.originalImage] as? UIImage {
144
+
145
+ // 遷移前の画面に画像を表示する
146
+
147
+ sampleView.image = myImage
148
+
149
+
150
+
151
+ }
152
+
153
+ // イメージピッカーを消す
154
+
155
+ self.dismiss(animated: true, completion: nil)
156
+
157
+ }
158
+
159
+
160
+
161
+ //画像選択がキャンセルされた時に呼ばれる.
162
+
163
+ func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
164
+
165
+ // イメージピッカーを消す
166
+
167
+ self.dismiss(animated: true, completion: nil)
168
+
169
+ }
170
+
171
+ ```

1

修正

2020/05/13 00:28

投稿

tsuki01
tsuki01

スコア1751

test CHANGED
@@ -1,4 +1,6 @@
1
1
  PickerViewの選択完了時メソッド内で、**「"Photo"が選択された場合」**という条件分岐を追加すれば対応可能になりますがいかがでしょうか。
2
+
3
+ 以下にサンプルを記載しますが、書き方は適宜微調整をお願いいたします。
2
4
 
3
5
 
4
6