2010-07-07 4 views
1

mon but est d'afficher une UITableView avec des cellules avec un style comme:UITableViewCell: texte avec des lignes stylisées à l'intérieur de l'étiquette

TEXTA - texte en gras avec une grande taille de la police

textb - texte en gras avec un petite taille de la police

TextC - texte normal avec la même taille de la police textb

le style est presque UITableViewCellStyleSubtitle perf ect, je pourrais définir TextA comme textLabel et une chaîne qui contient TextB et TextC comme detailTextLabel avec numberOfLines égal à 2. Mais de cette façon, TextB et TextC ont le même poids de police.

J'ai vu que NSAttributedString est maintenant supporté, c'est bien parce que mon application sera en tout cas compatible avec iOS 4 et j'ai essayé de coder une étiquette stylisée avec l'API CoreText. Mais le problème est que detailTextLabel est une propriété en lecture seule. La seule chose qui vient à l'esprit est d'ajouter l'étiquette personnalisée écrite dans CoreText comme sous-vue (avec le message addSubview) aux objets contentView de UITableViewCell.

Alternativement, je pourrais créer deux UILabel et les ajouter comme sous-vues de cellules.

Existe-t-il un moyen plus élégant que l'ajout de sous-vues?

Répondre

1

Je suis d'accord avec tc sur celui-ci. Vous ne pouvez aller aussi loin avec les cellules de tableau fournies par Apple avant d'avoir à ajouter des étiquettes personnalisées à l'une des options de cellules Apple ou simplement créer votre propre cellule de vue de table personnalisée. Je recommanderais de trouver un tutoriel sur la création de votre propre cellule de vue de table et de partir de là. L'éditeur Apress a un livre iPhone 3 befinning qui m'a aidé dans cette situation exacte.

+0

Merci, j'ai résolu en créant une sous-classe UITableViewCell comme vous l'avez suggéré! – user370773

2

Dans tous les cas, l'utilisation de vos propres vues est le moyen le plus simple de l'obtenir correctement.

Questions connexes