7
votes

Dimensionnement automatique Uilabel lors de l'utilisation de l'Autolayout

Je crée un XIB à l'aide de l'autolayouet (NslayoutConSraint). Y a-t-il un moyen d'utiliser sizetofit ou quelque chose de similaire pour faire de l'uilabel en forme son contenu?

J'ai essayé de définir une contrainte de "supérieur ou égal à x" et essayé de définir la hauteur pour être en dessous de cela. Cependant, il continue à écraser la propriété en hauteur. Sittiofit ne semble pas fonctionner lorsque vous avez NslayoutConstruistions.

Comment puis-je obtenir l'étiquette de taille de manière appropriée?


0 commentaires

3 Réponses :


4
votes

Faites une iboutlet pour vos contraintes de largeur et de hauteur et utilisez sizetofit pour modifier leur propriété constante de la propriété et appelez NiveauxDaTraints


0 commentaires

0
votes

Vous devriez essayer de réduire votre priorité de contrainte de hauteur.


0 commentaires

1
votes

en utilisant un "supérieur à la contrainte" pour la hauteur de l'Uilabel et appelant sizetofit dans ViewDidLayouTouSubviews a fait le tour pour moi

Je n'ai pas eu besoin d'appeler NiveauxDaTraints .

Vous devez également définir le nombre de lignes sur 0 pour permettre une quantité illimitée de lignes ou> 1 si vous voulez une limite.

Aussi la propriété préférémaxlayoutwidth doit être définie, qui est automatiquement définie sur la largeur des vues par le constructeur d'interface.


0 commentaires