2009-08-27 8 views
2

Je voudrais avoir du texte et des images formatés et cliquables dans un UITableViewCell sélectionné. Un exemple de la fonctionnalité que je recherche peut être vu dans l'application iPhone Twitterrific. Lorsque l'utilisateur clique sur une cellule, la cellule est mise en surbrillance et les différents liens sont mis en surbrillance et cliquables.Mettre en forme et dessiner du texte dans UITableViewCell à partir de Twitterrific pour iPhone

J'ai vu l'idée d'utiliser un UIWebView dans un UITableViewCell pour gérer le formatage, mais je ne suis pas sûr de cela. Cela signifie-t-il que chaque cellule doit avoir sa propre vue Web? Je m'interroge sur la dépense et la performance d'une telle méthode. Existe-t-il un autre moyen d'obtenir cette fonctionnalité en utilisant Core Graphics? J'utilise actuellement un dessin personnalisé pour dessiner mes cellules de vue de table comme décrit dans le blog d'atebit sur fast scrolling.

Répondre

2

Craig Hockenberry, auteur de Twitterrific, blogué sur la façon dont il a fait en 2008:

http://furbo.org/2008/10/07/fancy-uilabels/

En fait, lorsque la ligne est sélectionnée, il superpose UIButtons où les liens sont. C'est imparfait, car parfois le bouton ne rentre pas au même endroit que le texte.

+0

Merci, Hunter. Je n'avais pas réalisé que le blog était là ou que la méthode utilisée était un tel bidouillage. Je me demande si c'est ainsi que cela se passe dans la dernière version. Je voudrais trouver une meilleure façon de le faire. – sam

+0

Oui, ça ressemble vraiment à un hack, je suis d'accord. – Hunter

+0

Il est logique d'utiliser certains UIButtons plutôt qu'un UIWebview car cela serait beaucoup plus rapide. Il semble "hacky", mais vous pourriez essayer d'écrire une meilleure cellule pour gérer l'espacement maladroit à l'avance. Je ne sais pas comment la performance ferait autant d'analyse lorsque vous faites défiler. C'est peut-être la raison pour laquelle Hockenberry n'analyse un tweet que si l'utilisateur appuie dessus, ce qui économise beaucoup de travail de traitement. –

1

La première chose que je ferais est de vérifier le vieux source code de twitterific. Et voyez si cette version fait ce que vous cherchez.

Je ne suis pas sûr comment Hockenberry le fait, mais généralement UIWebviews + UITableViewCells! = Défilement rapide. Je suppose que chaque cellule ne contient pas de UIWebview jusqu'à ce que vous cliquiez dedans, quand il place rapidement une UIWebview dans la cellule pour gérer le formatage du texte. Vous avez ensuite une instance réutilisable d'UIWebview que vous réutilisez mais que vous modifiez simplement le contenu de plusieurs fois.

Questions connexes