Redimensionner la zone de texte Basé Sur le Contenu
Comment un textField être redimensionnée en fonction de leur contenu, tandis que l'utilisation de l'auto-mise en page dans une application iOS écrit dans Swift?
Le champ texte redimensionner de manière à l'adapter à son contenu lors de l'affichage des charges ainsi que pendant que l'utilisateur est en train de taper.
Idéalement, le champ de texte permettrait d'arrêter le redimensionnement à un certain point, disons, 6 lignes, et de devenir de défilement.
OriginalL'auteur Michael Voccola | 2015-02-08
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser un
UITextView
au lieu d'uneUITextField
.Ensuite, vous pouvez utiliser le
sizeThatFits
méthode.Mais d'abord vous devez savoir à quelle hauteur une ligne sera. Vous pouvez obtenir cette information en utilisant
lineHeight
:Après cela, il suffit d'appeler le
sizeThatFits
méthode à l'intérieur de votreviewDidLoad
méthode et de définir la maxHeight (line * 6
) que votre textview hauteur:yourTextview.sizeThatFits(…)
?Vous êtes de droite. J'ai changé
est-il possible d'augmenter le nombre de lignes d'un UITextField? @Christian
Pas de. Vous devez utiliser un
UITextView
si vous voulez la multi-fonctionnalité.je l'ai fait tout à l'intérieur de viewdidload mais mon textfield n'a pas augmenté.laissez amountOfLinesToBeShown:CGFloat = 4 laissez-maxHeight:CGFloat = textView.police!.lineHeight * amountOfLinesToBeShown textView.sizeToFit() textView.sizeThatFits(CGSizeMake(textView.cadre.taille.largeur, maxHeight)) je veux augmenter mon textview en fonction de la taille de contenu et ne doit pas être supérieure à la hauteur définie.
OriginalL'auteur Christian Wörz
Swift 3
OriginalL'auteur user44776