超过 1 个 UIPickerView Swift

Posted

技术标签:

【中文标题】超过 1 个 UIPickerView Swift【英文标题】:More than 1 UIPickerView Swift 【发布时间】:2015-01-08 03:56:25 【问题描述】:

我试图用 2 个 UIPickerViews 制作一个简单的应用程序,当我放入第二个时,它只包含与第一个相同的数据。我已经声明了将数据插入第一个函数的函数:

var typesOfData = ["KB","MB","GB"]
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int 
    return 1


func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int 
    return typesOfData.count


func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! 
    return typesOfData[row]

但我需要知道如何为第二个 UIPickerView 声明这些函数。

【问题讨论】:

【参考方案1】:

您可以使用相同的委托方法来填充两个UIPickerViews。只需根据您正在处理的UIPickerView 有条件地填充它们。例如,如果您的第一个UIPickerView 称为firstPickerView,而您的第二个UIPickerViewsecondDataSet 填充:

var typesOfData = ["KB","MB","GB"]
var secondDataSet = ["A","B","C"]
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int 
    return 1


func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int 
    if pickerView == firstPickerView 
        return typesOfData.count
     else  // if it's the second picker view
        return secondDataSet.count
    


func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! 
    if pickerView == firstPickerView 
        return typesOfData[row]
     else 
        return secondDataSet[row]
    

【讨论】:

以上是关于超过 1 个 UIPickerView Swift的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:索引超出范围 / UIPickerView /Array/ Swift

使用 Swift 使用 Core Data 对象填充 UIPickerView

Swift - 如何从 UIPickerView 生成数据的许多 UITextField 中读取数据 [关闭]

Swift 5 UIPickerView 数组计数无法正常工作,无法使用身高和体重计算用户 BMI

如何在 iOS Swift 3 中滚动到 UIPickerView 中的特定行

在 Swift 中为选定的 UIPickerView 行设置动画背景颜色