J'essaie de changer la couleur du texte en viewForRow
en fonction d'une certaine condition. Lorsque j'appuie sur un bouton, la vue change de couleur mais je voudrais aussi changer la couleur du texte dans le sélecteur. J'utilise 'viewForRow' parce que j'ai une vue personnalisée.Modifier UIPickerView pickerView: viewForRow: attributs basés sur une certaine condition
//adds subcategories to the wheel
-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, pickerView.frame.size.width, 44)];
label.backgroundColor = [UIColor clearColor];
if (!self.isBackgroundWhite)//Boolean that changes when the background changes
{
NSLog(@"Set white text");
label.textColor = [UIColor whiteColor];
}else{
label.textColor = [UIColor blackColor];
}
if (row == 1) {
label.text = [NSString stringWithFormat:@" %@",[self.servicesArray objectAtIndex:row]];
label.font = [UIFont fontWithName:@"HelveticaNeue-Bold" size:18];
}else{
label.text = [NSString stringWithFormat:@" -%@",[self.servicesArray objectAtIndex:row] ];
label.font = [UIFont fontWithName:kAppFont size:16];
}
return label;
}
EDIT: Merci à @ Rich j'ai pu repérer mon problème, j'ai juste besoin d'appeler [self.pickerView reloadAllComponents]
;
Voulez-vous seulement changer la couleur du texte et rien d'autre? – Rich
@Rich yup seulement la couleur du texte – DevC