2009-12-29 6 views
3

Dans l'application Carnet d'adresses de l'iPhone, les noms/sociétés sont en caractères gras. J'aimerais faire du formatage de texte simple dans une cellule.Comment mettre en forme du texte dans un UITableView?

J'ai vu quelques mentions d'utilisation de UIWebView, mais cela semble être une solution très lourde. De plus, c'est compliqué car il faut soit corriger la taille de la cellule, soit effectuer une manipulation spéciale pour récupérer la taille.

L'autre alternative que je connais est de rendre la cellule manuellement. Ce n'est peut-être pas trop difficile pour des choses simples, mais de toute évidence, cela peut se compliquer très rapidement.

Est-ce que quelqu'un a trouvé un moyen simple d'obtenir du texte de base dans un UITableView?

Répondre

1

La réponse générale est de rendre la cellule manuellement. Oui, ça se complique rapidement, mais c'est comme ça que vous le faites généralement. Si vos besoins sont extrêmement simples, vous pouvez créer des UILabels séparés pour chaque pièce, puis les mettre en forme et les mettre en forme, mais dans la plupart des cas, cela devient aussi compliqué que de simplement restituer le texte vous-même. toujours plus lent.

NSAttributedString et les extensions de dessin UIKit connexes seraient un ajout bienvenu à l'iPhone, mais il n'est pas disponible. Il s'agit essentiellement de rendre la main, ou d'utiliser une vue web.

0

On dirait qu'il ya deux questions que vous pourriez demander:

  1. Comment pouvez-vous changer la mise en forme des éléments dans une table? Modifiez les propriétés des textLabel et detailLabel dans vos cellules. Rien pour le faire.

  2. Comment pouvez-vous créer des éléments qui ont mélangé formatage (par exemple le texte mixte clair et gras dans l'application Contacts)? Les étiquettes ne le font pas, alors vous devriez le faire vous-même. Soit sous-classe UILabel pour remplacer la façon dont il dessine le texte, ou peut-être faire le dessin directement dans -[UITableViewCell drawRect:].

+0

Je ne demande pas comment changer la mise en forme de toute l'étiquette de texte. J'ai spécifiquement mentionné le carnet d'adresses car il a un formatage mixte. – brianegge

+0

OK, et c'est pourquoi j'ai couvert les deux alternatives. Mais votre question n'était pas très claire et les deux sont des interprétations raisonnables. –

Questions connexes