如何在同一视图控制器中使用2个UIPickerViews? [英] How to use 2 UIPickerViews in the same view controller?

查看:71
本文介绍了如何在同一视图控制器中使用2个UIPickerViews?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我下面的代码使用 UIPickerView 并完美运行。但是,我不知道如何为每个包含单独信息的2个不同选择器视图重复此过程。 l2 pl2 是第二个选择器视图和标签。

My code below uses a UIPickerView and works perfectly. However I do not know how to repeat this process for 2 different picker views that each contain separate information. l2 and pl2 are the 2nd picker view and label.

    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]
    }
}

}


推荐答案

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

You have a reference to your UIPickerView in the delegate methods so you can do code like :

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

然后针对每种方法执行该操作。

And do that for every method.

这篇关于如何在同一视图控制器中使用2个UIPickerViews?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆