Quelle est la meilleure façon d'afficher lots de RichText (formaté en HTML)
En ce moment, je travaille sur une application pour un forum. Comme vous pouvez vous y attendre, les messages sur le site comportent beaucoup de formatage HTML, de listes, d'images, etc. texte en gras , texte en couleur, etc...
Il y a maintenant plusieurs options auxquelles je pense (aucune d'entre elles n'est idéale, s'il vous plaît, si vous pensez à d'autres options, postez-les dans les commentaires) :
-
Cellules personnalisées utilisant NSAttributedString+HTML + DTAttributedTextView pour chaque poste ?
Des problèmes : J'ai utilisé ailleurs les catégories NSAttributedString+HTML dans l'application et ce n'était pas idéal, la création d'une NSAttributedString semble être assez coûteuse (lente) même en petites quantités. Pour 10+ messages dont chacun peut être la longueur d'un article entier serait terrible.
+ Bien que DTAttributedTextView prenne en charge la balise html IMG (et la plupart des balises), il ne prend pas en charge le chargement à distance des images, sauf si vous spécifiez leur largeur et leur hauteur dans la balise img. Et pour un forum où une balise IMG peut être un smiley (10*10) ou une capture d'écran (640*960), il n'y a aucun moyen de le prévoir.(Depuis la rédaction de cette NSAttributedString+HTML, qui est maintenant renommée DTCoreText a ajouté un support complet pour<img>
et grandement améliorée) -
Cellules personnalisées avec un UIWebView dedans pour chaque article ?
J'ai réfléchi à cette question pendant un certain temps, mais en lisant cet article de blog Je me suis rendu compte du problème que cela poserait, Défilement fluide . L'idée d'avoir une application native pour un site est qu'il est meilleur puis en utilisant un simple UIWebView pour afficher le thème mobile du site. Si l'application est lente et saccadée lors du défilement, c'est que l'application ne fonctionne pas. pire pas mieux (de plus, comme j'ai besoin d'afficher des images, cacher les webviews comme il le suggère ne fonctionnerait pas). De plus, les UIWebViews doivent être créées sur le thread principal, sinon elles se cassent.
-
Retour à l'UIWebView ? En plus de faire une tricherie pitoyable, (comme dans le cas de la Application iFans ) où vous n'affichez que du texte et où, s'ils cliquent dessus, une UIWebView se charge avec toutes les belles images, etc..., la seule option qui reste semble être de faire ce que je pense que l'application TapaTalk fait et d'avoir la vue entière du fil de discussion comme une UIWebView. Ce n'est pas trop mais je trouve l'idée d'utiliser un UIWebView dans un site web très intéressante, car il aura probablement de bonnes performances et me permettra d'ajouter des thèmes contrôlés par l'utilisateur, etc. indigène répugnant.
Est-ce que quelqu'un a de l'expérience dans la création d'une application alimentée par le web, par exemple peut-être un client facebook, une application de forum ou une application de nouveau site qui devait afficher le contenu du site (je ne compte pas vraiment le client twitter car il ne doit gérer que du texte et des liens en petites quantités par message). Avez-vous des idées sur la meilleure façon d'afficher du contenu RichText dans une application iOS ?
Toute idée doit tenir compte du terrain :
- Texte multicolore.
- Texte aligné à droite, à gauche et au centre.
- Images (de taille variable).
- Texte en gras.
- Texte de différentes tailles et polices.
- Souligne le texte.
- Vidéos sur YouTube.
- Tableaux HTML.
Au cas où la question ne serait pas très claire, je vais la résumer :
" Quelle est la meilleure façon d'afficher beaucoup de contenu RichText (formaté en HTML) pour une application client de forum ? "