【发布时间】:2019-12-19 06:29:03
【问题描述】:
我在一个视图中有多个文本字段,其中输入视图设置为pickerView,但是根据文本字段,应该出现不同数量的选择行。当您在选择器视图外部单击然后单击下一个 textField 时,这可以正常工作,但是当您单击下一个 textField 时会导致崩溃(这是因为 pickerView 不会更改,因此索引超出范围)。感谢您的帮助!
在外面点击时关闭pickerView(如果点击另一个文本字段则不做任何事情):
self.view.addGestureRecognizer(UITapGestureRecognizer(target: self.view, action: #selector(UIView.endEditing(_:))))
当我说不同的文本字段显示不同数量的行时,我的意思是:
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if ticketOneTextField.isFirstResponder == true {
if shownEvent?.ticketTypeOnePrice == "0.00" {
return 2
} else {
return 11
}
} else if ticketTwoTextField.isFirstResponder == true {
if shownEvent?.ticketTypeTwoPrice == "0.00" {
return 2
} else {
return 11
}
} else if ticketThreeTextField.isFirstResponder == true {
if shownEvent?.ticketTypeThreePrice == "0.00" {
return 2
} else {
return 11
}
} else {
return 2
}
}
【问题讨论】:
标签: ios swift uitextfield uipickerview