我在视图中有两个PickerViews,如何设置我的委托以确定要处理哪一个?
某种if()
来验证投掷事件的选择器是pickerX还是pickerY?
任何想法都将受到赞赏。
答案 0 :(得分:5)
您可以为PickerViews提供IBOUtlets,例如
@property (nonatomic, retain) IBOutlet UIPickerView *firstPickerView;
@property (nonatomic, retain) IBOutlet UIPickerView *secondPickerView;
然后在委托方法中执行类似这样的操作
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent: (NSInteger)component {
if (pickerView == self.firstPickerView) {
}
else if (pickerView == self.secondPickerView) {
}
}
或者您可以在IB中的PickerViews上设置标签并执行
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent: (NSInteger)component {
if (pickerView.tag == 0) {
}
else if (pickerView.tag == 1) {
}
}
答案 1 :(得分:1)
当调用任何委托方法时,它也会传递调用它的对象,在这种情况下可以说。
– pickerView:rowHeightForComponent:
您可以通过其TAG ID识别特定的选择器。是的,否则将被使用。