Est-il possible d'aligner le texte verticalement à l'intérieur des étiquettes avec une “grande” image
Dans mon application j'ai plusieurs tableviews personnalisée avec des cellules. Une partie du texte dans les cellules sont étalées sur entre 2 et 4 lignes de sorte que la hauteur de l'étiquette est assez grand pour contenir le contenu.
Toutefois sur l'iPad, l'écran est plus grand et je veux que le texte apparaisse en haut à gauche du point de l'étiquette, pas au milieu comme il n'lorsque vous utilisez numberOfLines
de la propriété. Je sais que vous pouvez aligner le texte horizontalement, mais il doit être possible d'aligner le texte en haut à gauche aussi? Ou est-ce impossible.
Capture d'écran:
- Cochez cette page [aligner le texte Verticalement dans un UILabel][1]stackoverflow.com/questions/1054558/...
Vous devez vous connecter pour publier un commentaire.
Son impossible pour aligner le texte dans UILabel verticalement. Mais, vous pouvez modifier dynamiquement la hauteur de l'étiquette à l'aide de sizeWithFont: méthode de NSString, et juste définir ses x et y que vous le souhaitez.
Comme alternative, vous pouvez utiliser UITextField. Il prend en charge la contentVerticalAlignment peoperty que c'est une sous-classe de UIControl. Vous devez définir sa userInteractionEnabled à PAS pour empêcher l'utilisateur de saisir du texte sur elle.
J'ai effectivement remarqué que l'utilisation de
ne aligner verticalement vers le haut. La valeur par défaut étant centré.
Vous pouvez le faire comme suit
Définir votre étiquette de
numberOfLines
propriété 0 IBDéfinir votre étiquette de
lineBreakMode
commeUILineBreakModeWordWrap
(très très important)maintenant ce que vous définissez sur l'étiquette juste ajouter quelques @"\n" pour elle.....
ex.-
Dans iOS 7
sizeWithFont:
est maintenant obsolète!Plusieurs solutions comme la sous-classement
UILabel
doivent être adaptés.Ma solution pour haut aligné le texte de l'étiquette:
Dans une sous-classe
TopVerticalAlignmentLabel : UILabel
remplacerdrawRect:
comme suit:sizeToFit
ne fonctionne pas dansUITableCellView
, parce que les Cellules sont réutilisés pendant le défilement.La solution est de calculer la table de la hauteur de la cellule en fonction de la taille de police et d'ajuster la hauteur d'étiquette à elle.
Car il était très difficile de trouver la solution sur le web, j'ai écrit un court post sujet
J'ai ajouté dans
viewDidLoad
assurez-vous que vos contraintes sont définies correcte, de sorte que l'étiquette est autorisé à réduire ou agrandir. Sinon, ça ne marchera pas.
Ici est la Même Question posée par Quelqu'un. vous trouverez plus approprié pour résoudre ce problème.ils les gars ont fait un excellent explication sur elle.
Je pense que oui, vous devriez jeter un oeil de ce.
ici dans ce thread de nombreuses réponses suggèrent de définir la dynamique de l'image pour la UILabel sur la base de
text
comme ci-dessous extrait de code décrit.vous pouvez obtenir plus d'idée précise, plutôt que d'utiliser
textField
ici, il estVous pouvez Simplement Utiliser Un UITextView ,et de Définir sa UserInteraction Activé ou Pas,Et Tous vos problèmes seront résolus!