ios: meilleur moyen d'afficher du text multiligne de longueur variable

Je prévois de charger du contenu multi-paragraphes à partir d'un file text et de l'afficher sur l'interface user. Je vais charger à partir de l'un des nombreux files text et je ne sais pas à l'avance combien de time le text va être. Ma première pensée a été d'utiliser un UILabel dans un UIScrollView. Cependant, il ne semble pas que UILabel puisse être développé en fonction du nombre de lignes qu'il contient. Est-ce correct?

Si UILabel n'est pas le bon outil pour le travail, que dois-je utiliser? UIWebView? UIWebView gérera-t-il bien le défilement pour moi?

Découvrez UITextView . Vous pouvez en placer un dans un UIView, et la vue de text fournit toutes les fonctionnalités d'une vue de défilement, et plus encore (c'est une sous-class de UIScrollView).

Si vous ne voulez pas utiliser un UITextView, qui est défilant de manière à prendre en charge le text dont vous avez besoin, vous pouvez vérifier certaines methods pour calculer la taille d'un UILabel, par exemple, à la volée.

Cela devrait vous aider à démarrer dans la bonne direction: NSSsortingng a quelques methods de catégorie UIKit

 - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size; - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode; 

Vous appelez ces methods sur un NSSsortingng, en passant dans n'importe quelle police que vous voulez utiliser ainsi que la taille maximale. Habituellement, je vais contraindre la largeur mais donner une très grande hauteur pour qu'elle puisse me dire quelle est la meilleure hauteur. Ces methods renverront une CGSize que vous pourrez ensuite utiliser pour définir les frameworks des UILabels. Par exemple, si je connais la largeur maximale que je peux placer dans l'label est de 300 points de large, je vais passer un CGSizeMake (300, 2000) pour la taille contrainte.