現状のswiftの動き
①テキストフィールドをタップすると、下からpickerViewが出てくる。
②pickerViewから項目を選ぶと、ラベルに項目名が表示される。
実現したいこと
上記の物を、複数作りたい際は、どのようにしたら良いでしょうか?
上記のコードをコピペして、変数名を変えれば良いだけと思っていたら、
違うみたいです。
どこが違うのでしょうか?
ご教授のほど、よろしくお願い致します。
該当のソースコード
(2つ目のpickerViewも、"A", "B", "C","D","E"と表示されてしまいます。本当は"1", "2", "3","4","5"と表示させたいです。)
import UIKit class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource { func numberOfComponents(in pickerView: UIPickerView) -> Int { return 1 } func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { return 5 } func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { return data[row] } func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { textField.text = data[row] result.text = data[row] } @IBOutlet weak var textField: UITextField! @IBOutlet weak var result: UILabel! var pickerView = UIPickerView() var data = ["A", "B", "C","D","E"] override func viewDidLoad() { super.viewDidLoad() createPickerView() createPickerView1() } func createPickerView() { pickerView.delegate = self textField.inputView = pickerView // toolbar let toolbar = UIToolbar() toolbar.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 44) let doneButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(ViewController.donePicker)) toolbar.setItems([doneButtonItem], animated: true) textField.inputAccessoryView = toolbar } @objc func donePicker() { textField.endEditing(true) } override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { textField.endEditing(true) textField1.endEditing(true) } func numberOfComponents1(in pickerView: UIPickerView) -> Int { return 1 } func pickerView1(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { return 5 } func pickerView1(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { return data1[row] } func pickerView1(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { textField1.text = data1[row] result1.text = data1[row] } @IBOutlet weak var textField1: UITextField! @IBOutlet weak var result1: UILabel! var pickerView1 = UIPickerView() var data1 = ["1", "2", "3","4","5"] func createPickerView1() { pickerView1.delegate = self textField1.inputView = pickerView1 // toolbar let toolbar = UIToolbar() toolbar.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 44) let doneButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(ViewController.donePicker1)) toolbar.setItems([doneButtonItem], animated: true) textField1.inputAccessoryView = toolbar } @objc func donePicker1() { textField1.endEditing(true) } }
使用している言語
swift
Xvode 11.4
ご教授のほど、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/24 13:10
2020/05/24 15:56