2017-10-06 21 views
-2

我尝试添加不同的uipickerviews一种观点认为,问题是,该组件的数量设置一个对所有选择器的观点:不同UIPivkerviews不同数量的部件

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) 

如何uipickerviews的这个区别在迅速实施?

回答

1

您pickerViews创建IBOutlet秒,然后返回值

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

func numberOfComponents(in pickerView: UIPickerView) -> Int { 
    if pickerView == picker1 { 
     return 2 
    } 
    else { 
     return 1 
    } 
} 

编辑前检查在功能上pickerview:如果您以编程方式创建采摘,对他们

var picker1: UIPickerView? 
var picker2: UIPickerView? 

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

创建属性这样你可以在委托方法中访问你的选择器!

+0

谢谢!这个作品,在我的情况下,不得不用标签来区分多个uipickerviews – Anton

+0

不依赖于标签!让IBOutlets –

+0

我编程方式添加此选择器的观点不同的子视图,所以我不能使用IBOutlets( 点击绿色对勾标记,标志着作为答案? – Anton

相关问题