2010-11-09 12 views

Répondre

5

Vous pouvez avoir IBOutlets pour les PickerViews comme

@property (nonatomic, retain) IBOutlet UIPickerView *firstPickerView; 
@property (nonatomic, retain) IBOutlet UIPickerView *secondPickerView; 

puis dans une méthode déléguée faire quelque chose comme ça

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

ou vous pouvez définir des balises sur le PickerViews dans IB et faire

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

    } 
    else if (pickerView.tag == 1) { 
    } 
} 
+0

Je ne connaissais pas la première option, c'est aussi une bonne option. J'ai utilisé la seconde, cependant, avec les ID TAG. Je vous remercie! –

1

Lorsqu'une méthode de délégué est appelée, elle transmet également l'objet sur lequel elle est appelée, disons dans ce cas.

– pickerView:rowHeightForComponent: 

Vous pouvez identifier le sélecteur particulier par son ID TAG. Et yah si d'autres seront utilisés.

+0

Merci beaucoup! Astuce très utile. J'ai utilisé 'thePickerView.tag' et j'ai obtenu ce que je voulais. –