Modifier la taille du texte dans un Picker

Pour faire cette manip qui semble assez simple, il n’y a pas de propriété directement accessible dans la classe UIPickerView.

Il faut créer une UIView et un UILabel que l’on va positionner dans le Picker.

Pour cela, au lieu d’utiliser la méthode “pickerView titleForRow:”, on va utiliser la méthode “pickerView viewForRow:”

- (UIView * )pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {

     if (component == kGaucheComponent) {
           UIView *rowView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 80, 25)];
           UILabel * myLabel = [[UILabel alloc] initWithFrame:CGRectMake(30,0, 70, 25)];
           myLabel.opaque = NO;
           UIColor *mycolor = [UIColor clearColor];
           myLabel.backgroundColor = mycolor;
           myLabel.font = [UIFont systemFontOfSize:18];
           myLabel.text = [self.dataPickerGauche objectAtIndex:row];
          [rowView addSubview:myLabel];
          [myLabel release];
         return [rowView autorelease];
     } else {
        UIView *rowView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 195, 25)];  
        UILabel * myLabel = [[UILabel alloc] initWithFrame:CGRectMake(10,0, 190, 25)];
        myLabel.opaque = NO;
        UIColor *mycolor = [UIColor clearColor];
        myLabel.backgroundColor = mycolor;
        myLabel.font = [UIFont systemFontOfSize:12];
        myLabel.text = [self.dataPickerDroit objectAtIndex:row];
        [rowView addSubview:myLabel];
        [myLabel release];
        return [rowView autorelease];
    }
}

On crée une vue rowView qui sera le contenu d’une ligne du Picker. Puis on crée un label pour contenir le texte du Picker.
Grâce au label, on accède à toute les propriétés du texte. Il faut aussi définir les propriétés de couleur et d’opacité du label pour que cela rende bien dans le picker.

Avec cette méthode “pickerView viewForRow:”, on peut également ajouter une image à chaque ligne du picker.

This entry was posted in iPhone, mac, tutoriels and tagged , , , . Bookmark the permalink.