
我在一个视图控制器中使用4个文本字段,对于每个文本字段,我使用单独的pickerVIEw作为textFIElds(4pickers)的inputVIEws.
当我单击第一个textFIEld时,pickerVIEw1成功显示,文本字段显示数据,但是当我单击第二,第三和第四个文本字段时,会出现第一个pickerVIEw.
我怀疑错误在于inputVIEw声明.
如果你能帮助为pickerVIEw添加一个“完成”按钮,我将非常感激.
我的代码:
class VIEwController1: UIVIEwController,UIPickerVIEwDelegate{ @IBOutlet var pickerVIEw1: UIPickerVIEw! @IBOutlet var pickerVIEw2: UIPickerVIEw! @IBOutlet var pickerVIEw3: UIPickerVIEw! @IBOutlet var pickerVIEw4: UIPickerVIEw! @IBOutlet var textFIEld1: UITextFIEld! @IBOutlet var textFIEld2: UITextFIEld! @IBOutlet var textFIEld3: UITextFIEld! @IBOutlet var textFIEld4: UITextFIEld! var hazards = ["a","b","c"] var reasons = ["d","e","f"] var site = ["v","h","i","j"] var line = ["k","l","m","n"] overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() pickerVIEw1 = UIPickerVIEw() pickerVIEw2 = UIPickerVIEw() pickerVIEw3 = UIPickerVIEw() pickerVIEw4 = UIPickerVIEw() pickerVIEw1.delegate = self pickerVIEw2.delegate = self pickerVIEw3.delegate = self pickerVIEw4.delegate = self self.textFIEld1.inputVIEw = self.pickerVIEw1; self.textFIEld2.inputVIEw = self.pickerVIEw2; self.textFIEld3.inputVIEw = self.pickerVIEw3; self.textFIEld4.inputVIEw = self.pickerVIEw4; } func numberOfComponentsInPickerVIEw(pickerVIEw: UIPickerVIEw) -> Int { return 1 } func pickerVIEw(pickerVIEw: UIPickerVIEw,numberOfRowsInComponent component: Int) -> Int { if pickerVIEw.tag == 0 { return hazards.count } else if pickerVIEw.tag == 1 { return reasons.count } else if pickerVIEw.tag == 2 { return site.count } else if pickerVIEw.tag == 3 { return line.count } return 1 } func pickerVIEw(pickerVIEw: UIPickerVIEw,TitleForRow row: Int,forComponent component: Int) -> String! { if pickerVIEw.tag == 0 { return hazards[row] } else if pickerVIEw.tag == 1 { return reasons[row] } else if pickerVIEw.tag == 2 { return site[row] } else if pickerVIEw.tag == 3 { return line[row] } return "" } func pickerVIEw(pickerVIEw: UIPickerVIEw,dIDSelectRow row: Int,inComponent component: Int) { if pickerVIEw.tag == 0 { textFIEld1.text = hazards[row] } else if pickerVIEw.tag == 1 { textFIEld2.text = reasons[row] } else if pickerVIEw.tag == 2 { textFIEld3.text = site[row] } else if pickerVIEw.tag == 3 { textFIEld4.text = line[row] } }} 您正在使用选择器视图的标记属性来确定哪个数组是给定选取器视图的数据源,但您最初没有设置标记.标签默认为零,因此所有四个选择器视图都显示相同的数据.在实例化您的选择器视图后,添加以下内容: pickerVIEw1.tag = 0pickerVIEw2.tag = 1pickerVIEw3.tag = 2pickerVIEw4.tag = 3总结
以上是内存溢出为你收集整理的多个文本字段输入视图的多个选择器视图很快全部内容,希望文章能够帮你解决多个文本字段输入视图的多个选择器视图很快所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)