我试图在一个视图中添加不同的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的区分?
答案 0 :(得分:1)
为pickerViews创建IBOutlet
,然后在返回值之前检查函数中的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(...
}
这样你就可以在委托方法中访问你的选择器了!