超过 1 个 UIPickerView Swift

More than 1 UIPickerView Swift

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

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 声明这些函数。

您可以使用相同的委托方法来填充两个 UIPickerView。只需根据您要处理的 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]
    }
}