J'applique une application de messagerie instantanée sur iOS. J'ai trouvé que la bibliothèque three20 a un TTStyledTextLabel qui fournit des fonctionnalités intéressantes comme l'affichage d'images et de liens URL. Cependant, je veux intégrer le TTStyledTextLabel dans une bulle de message (tout comme l'application sms fournie avec iphone), où j'ai besoin de l'étiquette pour ajuster sa taille en fonction de la longueur du texte. J'ai trouvé que TTStyledTextLabel peut ajuster sa hauteur en fonction de sa largeur, mais je ne sais pas comment la faire rétrécir horizontalement quand le texte est très court et ne peut pas remplir toute une ligne. Aucune suggestion?Comment ajuster la largeur de TTStyledTextLabel?
Répondre
je pense avoir une solution un peu mieux: je reçois le rootFrame du ttstyledtext et itérer sur ses frères et soeurs cadres pour trouver la largeur max.
Il fonctionne comme ceci:
TTStyledTextLabel* label = [[TTStyledTextLabel alloc] init];
label.text = [TTStyledText textFromXHTML:myTextToBeDisplayed];
[label sizeToFit];
CGFloat maxWidth = 0;
TTStyledFrame *f = label.text.rootFrame;
while (f) {
int w = f.x + f.width;
if (w > maxWidth) {
maxWidth = w;
}
f = f.nextFrame;
}
return CGSizeMake(maxWidth, label.height);
Quel est le comportement de [label sizeToFit]; dans ce scénario ? Est-ce qu'il énonce tout à travers la largeur de l'écran? – user210504
J'ai essayé de le faire en passant de façon incrémentale le paramètre width à sizeToFit et en regardant la hauteur résultante pour donner des indices quant à savoir si la taille est correcte. Mais ce n'est pas une solution élégante
pour (int index = 100; indice < 320; index = indice + 30)
{x = label.width; si (étiquette.hauteur < 20) rupture;
}
Je viens de vérifier à nouveau cette solution fonctionne – user210504
Je pense que j'ai une solution légèrement meilleure: je reçois le rootFrame du ttstyledtext et itère sur ses cadres frères pour trouver la largeur maximale. –
- 1. Comment ajuster la largeur d'un élément enfant sans ajuster la largeur du parent en CSS?
- 2. Ajuster Gridview Largeur
- 3. TTStyledTextLabel
- 4. css largeur ajuster
- 5. Ajuster la largeur de cellule dans UITableView
- 6. Onglet Flex mobileBar ajuster la largeur?
- 7. Comment ajuster la largeur de textview dynamiquement dans un tablerow
- 8. Comment puis-je ajuster la largeur de webview?
- 9. ASP.NET View - EditorFor ajuster la largeur
- 10. Comment ajuster ajuster la largeur de 2 éléments côte à côte pour s'adapter au conteneur
- 11. Comment changer la police du lien TTStyledTextLabel
- 12. Comment ajuster correctement la largeur du conteneur d'étiquettes, à la largeur de son parent ou frère
- 13. Comment ajuster la largeur d'un graphique dans wpf?
- 14. Comment faire pour ajuster la largeur du plugin Facebook commentaires?
- 15. Comment ajuster la largeur d'une police en utilisant l'API Uniscribe
- 16. YUI autocomplete: comment ajuster la largeur du conteneur au contenu
- 17. Comment ajuster la largeur entre les barres dans Android
- 18. Ajuster la largeur fixe dans la fenêtre de l'appareil mobile
- 19. Comment TTStyledTextLabel peut-il changer la largeur/hauteur des changements d'orientation?
- 20. Ajuster la largeur de div en fonction des autres enfants?
- 21. Comment ajuster la largeur d'une rangée à la largeur des autres rangées d'une table?
- 22. Mise à l'échelle UIImageView pour ajuster la largeur de l'écran
- 23. Ajuster la largeur de Ext.Msg dans Sencha tactile
- 24. Ajuster la largeur ajax et conserver la classe actuelle
- 25. Ajuster la largeur et la hauteur d'un contrôle (ASP.NET)
- 26. ajuster l'emballage à 100% largeur et hauteur
- 27. Ajuster le contenu à la largeur du div
- 28. Comment faire pour définir la police de lien pour TTStyledTextLabel
- 29. Le bouton 'Ajuster à la largeur' dans Opera
- 30. iPhone - Ajuster la largeur UILabel en fonction du texte
Sur intérêt, puis-je demander à ce que vous utilisez pour la fonctionnalité de messagerie instantanée réelle? libpurple? – Pripyat