如何确定触摸了哪个控件?

Ber*_*ira 2 iphone cocoa-touch delegates objective-c uipickerview

我在视图中有两个PickerViews,如何设置我的委托以确定要处理哪个?某种if()用于验证抛出事件的选择器是pickerX还是pickerY?

任何想法将不胜感激.

Rob*_*und 5

你可以为PickerViews提供IBOUtlets

@property (nonatomic, retain) IBOutlet UIPickerView *firstPickerView; 
@property (nonatomic, retain) IBOutlet UIPickerView *secondPickerView; 
Run Code Online (Sandbox Code Playgroud)

然后在委托方法中做这样的事情

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:  (NSInteger)component {
  if (pickerView == self.firstPickerView) {
  }
  else if (pickerView == self.secondPickerView) {
  }
}
Run Code Online (Sandbox Code Playgroud)

或者您可以在IB中的PickerViews上设置标签并执行此操作

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:  (NSInteger)component {
  if (pickerView.tag == 0) {

  }
  else if (pickerView.tag == 1) {
  }
}
Run Code Online (Sandbox Code Playgroud)