J'ai 3 sélecteurs sur ma vue, dont un ne contient que des images, donc pour celui-ci je dois utiliser viewForRow mais pour les 2 autres, qui sont des sélecteurs communs avec des labels, j'ai besoin de titleForRow sauf si j'utilise viewForRow, titleForRow ne s'appelle jamais. Comment puis-je faire appeler les deux délégués dans ma classe?Comment utiliser viewForRow et titleForRow dans la même classe pour différents cueilleurs?
C'est ce que je:
- (UIView *)pickerView:(UIPickerView *)thePickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{ [[[objectPicker subviews] objectAtIndex:0] setHidden:YES]; [[[objectPicker subviews] objectAtIndex:5] setHidden:YES]; [[[objectPicker subviews] objectAtIndex:8] setHidden:YES]; return ; //will be implemented, but this will return the icons } - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ [[[objectPicker subviews] objectAtIndex:0] setHidden:YES]; [[[objectPicker subviews] objectAtIndex:5] setHidden:YES]; [[[objectPicker subviews] objectAtIndex:8] setHidden:YES]; if (pickerView == self.timePicker) { return [timeList objectAtIndex:row]; } else if(pickerView == self.powerPicker) { return [powerList objectAtIndex:row]; } }
Je sais mais la raison pour laquelle je ne voulais pas faire cela est parce que quand vous renvoyez une étiquette, vous avez le rectangle bleu quand l'étiquette est sélectionnée dans le sélecteur. Mais j'ai créé les sélecteurs dans différentes classes pour avoir leurs propres délégués. Juste les importés dans le contrôleur principal. :) –