ios - 超过 1 个 UIPickerView Swift

标签 ios swift uipickerview

我试图用 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 声明这些函数。

最佳答案

您可以使用相同的委托(delegate)方法来填充两个 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]
    }
}

关于ios - 超过 1 个 UIPickerView Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27832661/

相关文章:

ios - 如何将 UITableView 单元格宽度设置为与其父/设备宽度相同?

swift 2 : understanding AnyObject and Self

ios - Swift 中的 dispatch_once 单例

iOS Animate UIPicker 高度变化

ios - 更改 UIPickerView 选择指示器的颜色

ios - 检索iOS设备标准背景图片

ios - Apple App 跟踪透明度和 Google Analytics

ios - 代码错误 : "Use of unresolved identifier: GGLContext" (without CocoaPods)

ios - 相互切换 2 个 UIPickerview 的组件

ios - 在 Sprite Kit 中播放声音