2010-10-10 17 views
1

J'ai cette interface avec plusieurs UILabels. Lors du chargement de la vue, je remplis les valeurs marquées en blanc avec certaines données d'un db. Le problème est que certains de ces champs sont potentiellement trop longs pour l'interface, donc je voudrais calculer la hauteur totale d'une étiquette une fois le texte enveloppé et repositionner les deux étiquettes ci-dessous (en décalant la coordonnée Y) en conséquence la hauteur de l'étiquette précédente. Tout cela doit aller dans un UIScrollView pour permettre à l'utilisateur de faire défiler verticalement ces étiquettes.Repositionnement multiple de UILabel (s) selon wordwrap

Y at-il une chance que je puisse le faire facilement avec un certain contrôle que je ne sais toujours pas, ou dois-je le faire manuellement?

Merci

Répondre

2

Vous aurez besoin d'utiliser le NSString UIKit Additions pour calculer la hauteur que vous devez définir sur votre UILabel, puis ajustez les autres contrôles de manière appropriée.

Plus précisément, je pense que vous voulez utiliser sizeWithFont:forWidth:lineBreakMode: pour obtenir le rect pour votre UILabel.


Vous pouvez également utiliser un UIWebView et afficher les informations au format HTML. Je ne sais pas si c'est forcément moins de travail, mais vous obtiendrez une mise en page qui s'adapte automatiquement à la taille de son contenu.