ios - 如何在同一个 View Controller 中使用 2 个 UIPickerViews?

标签 ios swift datasource uipickerview

<分区>

我下面的代码使用了 UIPickerView 并且运行良好。但是我不知道如何为每个包含单独信息的 2 个不同的选择器 View 重复此过程。 l2pl2 是第二个选择器 View 和标签。

    import UIKit
class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate{

@IBOutlet var l: UILabel!
@IBOutlet var pl: UIPickerView!
    @IBOutlet var l2: UILabel!
    @IBOutlet var pl2: UIPickerView!
override func viewDidLoad() {
    super.viewDidLoad()
    pl.dataSource = self
    pl.delegate = self
    pl2.dataSource = self
    pl2.delegate = self

}

    let choices = ["1","2","3","4","5","6","7","8","9","10","11"]
    let choices2 = ["1","judo","3","4","5","6","7","8","9","10","11"]

func numberOfComponents(in pickerView: UIPickerView) -> Int {
    return 1

}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    if pickerView == pl {
        return choices[row]
    } else if pickerView == pl2 {
        return choices2[row]
    } else {
        return nil
    }
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {


return choices.count
    return choices2.count

    }
      func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {


    if pickerView == pl {
         l.text = choices[row]
    } else if pickerView == pl2 {
            l2.text = choices2[row]
    }
}

}

最佳答案

您在委托(delegate)方法中引用了您的 UIPickerView,因此您可以执行如下代码:

func numberOfComponents(in pickerView: UIPickerView) -> Int {
    if(pickerView == pl) {
      //pl specific code
    }
    if(pickerView == pl2) {
       //pl2 specific code
    }
}

并对每种方法都这样做。

关于ios - 如何在同一个 View Controller 中使用 2 个 UIPickerViews?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45194543/

相关文章:

c# - 从使用数据源的列表框中删除和修改所选项目

php - CakePHP 2.x - 动态切换数据库(针对整个应用程序)

java - 数据源的自动提交是否应该设置为 false?

ios - 在 iOS 中使用共享对象文件(.so 文件)

objective-c - 视频后未出现的持续时间

ios - google near by places api 不返回任何结果,关键词是我附近的生日地点并输入 court hall

swift - Switft Dictionary 问题 'String?' is not convertible to 'String' ;您的意思是使用 'as!' 强制向下转换吗?

ios - 如何更新/升级 Facebook API 版本?

来自 ipod 库的 ios 时间拉伸(stretch)歌曲

swift - 单个 Swift 图表中的多个 Y 轴?