如何使用 didSelectRow 为多个 UIPickerView 使用数据
Posted
技术标签:
【中文标题】如何使用 didSelectRow 为多个 UIPickerView 使用数据【英文标题】:How to use data for more than one UIPickerView using didSelectRow 【发布时间】:2020-02-18 19:15:14 【问题描述】:遇到问题,无法弄清楚如何使用 didSelectRow 方法使用来自 UIPickerView 以外的数据。
问题是组件和行不是分开的,有没有机会使用分开的行和组件?
我试图将 label.text 更改为数组中的一些数据,但即使我更改了一个pickerview,它也会在其他数组中发生变化。
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
resultLabel1.text = "\(pickerData![component][row]) \(timeNumber[row - 1]) \(timePickerData[row - 1])"
// print(component)
// print(unitsPickerView.selectedRow(inComponent: component))
// print(pickerData![component][row])
【问题讨论】:
【参考方案1】:您可以在 didSelectRow 中使用 if 语句来检查当前正在使用哪个 UIPickerView,然后采取相应的措施。比如:
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
if pickerView == unitsPickerView
// do stuff
else
// do some other stuff
【讨论】:
以上是关于如何使用 didSelectRow 为多个 UIPickerView 使用数据的主要内容,如果未能解决你的问题,请参考以下文章
Swift中的多个pickerview didSelectRow错误
如何在 DidSelectRow 中关闭 UIPopover?
如何在 swift 中的 tableview 中的 didselectrow 方法中点击内容视图
在 moveRowAt [关闭] 之后找到 didSelectRow 的正确行