Swift 不同的UIPivkerView可以查看不同数量的组件

Swift 不同的UIPivkerView可以查看不同数量的组件,swift,uiview,uipickerview,Swift,Uiview,Uipickerview,我试图将不同的uipickerviews添加到一个视图中,问题是所有选择器视图的组件数量都设置为一个: func numberOfComponents(in pickerView: UIPickerView) -> Int { return 2 } 是否可以为不同的uipickerviews设置不同数量的组件?同样的问题也适用于其他函数,如行数 func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent

我试图将不同的
uipickerviews
添加到一个视图中,问题是所有选择器视图的组件数量都设置为一个:

func numberOfComponents(in pickerView: UIPickerView) -> Int {
    return 2
}
是否可以为不同的
uipickerviews
设置不同数量的组件?同样的问题也适用于其他函数,如行数

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int)
以及组件本身的来源:

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int)

如何在swift中实现uipickerviews的这种区分?

为pickerViews创建
IBOutlet
s,然后在返回值之前检查函数中的pickerview

@IBOutlet weak var picker1: UIPickerView!
@IBOutlet weak var picker2: UIPickerView!

func numberOfComponents(in pickerView: UIPickerView) -> Int {
    if pickerView == picker1 {
        return 2
    }
    else {
       return 1
    }
}
编辑:如果以编程方式创建选择器,请为其创建属性

var picker1: UIPickerView?
var picker2: UIPickerView?

func createMyPickers() {
    picker1 = UIPickerView(...
    picker2 = UIPickerView(...
}

这样,您就可以在委托方法中访问选择器

谢谢大家!!这是可行的,在我的例子中,必须使用标记来区分多个UIPickerViews,不要依赖标记!!使IBOutlets我以编程方式将此选择器视图添加到不同的子视图中,因此我不能使用IBOutlets(单击绿色复选标记是否标记为answer?谢谢!此外,在这种情况下,只需使用属性。将编辑答案。苹果强烈建议不要使用标记,我也不建议,因为它们可能会变得非常繁琐