Storyboardで一つのViewに複数のTextFieldを配置しそれぞれのTextFieldをクリック(タップ)すると別々の内容が表示されるPickerViewが表示されるようにしたいです。
クリックするとPickerViewが表示されそこで選んだものがTextFieldに表示されるまでは作ることができました。
しかし別のTextFieldで同様のことをしようとしても一つ目に作ったものと同じ動きをしてしまします。
以前Storyboard上に複数のPickerViewを配置して別々のものを表示するときにTagを使いました。
そこでStoryboardにPickerViewを貼り付けた時にプロパティで設定できるTagを、
コードを書いて作ったPickerViewで設定するにはどのように記述すれば良いのでしょうか。
#####ソースコード
import UIKit class InputKotsu: UIViewController, UITextFieldDelegate, UIPickerViewDataSource, UIPickerViewDelegate { let kubunList = ["交通費(通勤)", "交通費", "宿泊","日当"] let youkenList = ["定期", "営業", "その他"] let koutsuuList = ["電車","バス", "タクシー", "飛行機","船舶"] let oufukuList = ["往復", "片道"] @IBOutlet weak var kubun: SubPicker! @IBOutlet weak var koutsuusyudan: SubPicker! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. kubun.selectorPicker.delegate = self kubun.selectorPicker.dataSource = self koutsuusyudan.selectorPicker.delegate = self koutsuusyudan.selectorPicker.dataSource = self kubun.tag = 0 koutsuusyudan.tag = 1 } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } // 項目の数 func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { return 1 } // 要素数 func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { if pickerView.tag == 1{ return koutsuuList.count } return self.kubunList.count } //要素を表す文字列 func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { if pickerView.tag == 1{ return koutsuuList[row] } return self.kubunList[row] } //テキストフィールドに表示 func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { if pickerView.tag == 1{ koutsuusyudan.text = self.koutsuuList[row] } else{ kubun.text = self.kubunList[row] } } func pickerView(pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat { return 50 } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/21 02:48 編集
2016/07/21 01:08
2016/07/21 02:23
2016/07/21 02:32
2016/07/21 02:36
2016/07/21 04:02
2016/07/21 04:08
2016/07/21 05:15
2016/07/21 05:30 編集
2016/07/21 05:53