2010-03-07 1 views
0

J'ai actuellement un UITableViewCell personnalisé qui contient quelques étiquettes, et une image. L'étiquette "principale" est utilisée pour afficher les noms des personnes. Actuellement, je le stylise en gras. Ce que je voudrais faire (pour gagner de l'espace et de la lisibilité), est d'imiter le style de cellule de l'application Carnet d'adresses, c'est-à-dire: prénom en texte clair et nom de famille en gras. Y at-il un moyen de le faire en utilisant le même UILabel? Ou, devrais-je utiliser 2 UILabel s différents? Comment dois-je les disposer, sans connaître leur taille?Comment obtenir la même mise en page UITableViewCell que dans l'application Carnet d'adresses?

Merci d'avance pour votre aide!

Répondre

1

Vous pouvez utiliser le UITableViewCellStyleValue2 intégré. A partir du fichier d'en-tête UITableViewCell.h: Méthode:

UITableViewCellStyleValue2,  // Right aligned label on left with blue 
       //text and left aligned label on right (Used in Phone/Contacts) 

passer ce dans votre [... [UITableViewCell alloc] initWithStyle].

+0

Dans mon cas, l'utilisation des styles UITableViewCell par défaut n'est pas possible (j'utilise déjà 4 UILabels et un UIImage). Merci quand même! – Romain

+0

Vous pouvez toujours ajouter des étiquettes supplémentaires après celles définies par défaut. –

0

Je pense que c'est la table table avec le style UITableViewCellStyleDefault. Si vous souhaitez utiliser des attributs de police différents, vous devez utiliser des étiquettes différentes (car il n'y a pas encore de chaînes attribuées). Pour calculer la taille de ces étiquettes, vous devez utiliser la méthode suivante:

- (CGSize)sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode; 

ou tout pertinent de NSString(UIStringDrawing).

Vous pouvez également utiliser des dessins de chaînes personnalisés au lieu de UILabel.

+0

Merci beaucoup, la version de base de la police (CGSize) sizeWithFont: (UIFont *) a fait l'affaire! En moins de 5 minutes j'ai réussi à obtenir ce que je voulais. Encore une fois, merci :-) – Romain

Questions connexes