2017-07-11 1 views
0

Je crée un champ de texte à l'aideActionscript: champs de texte multilignes et rembourrage fond

multiline = isMultiLine; 
wordWrap = true; 

Je suis en train de la hauteur du champ de texte à l'aide

_tf.height = _tf.height * _tf.numLines; 

Parce que si je ne pas le plus les lignes n'apparaissent pas et vous devez cliquer dessus pour les voir.

Le code ci-dessus fonctionne, mais le remplissage au bas de la _tf.height devient plus grand que le nombre de lignes augmente. Donc je pense que c'est parce que ma taille d'entrée est multipliée par le nombre de lignes. Cependant, j'utilise la valeur minimum _tf.height, si je la réduit, toutes les lignes se chevauchent.

J'ai également essayé de régler manuellement le _tf.height plus tard pour enlever le rembourrage supplémentaire, mais cela a entraîné le même problème de chevauchement.

Comment puis-je retirer le rembourrage inférieur?

enter image description here

Répondre

1

Cela fonctionne mieux que mulitplying par nombre de lignes

tf.width = DESIRED_WIDTH; 
tf.multiline = isMultiLine; 
tf.wordWrap = true; 
tf.text = yourText; 
tf.height = tf.textHeight + DESIRED_PADDING; 

textHeight vous indiquera la hauteur réelle utilisée par les glyphes qu'il contient. Habituellement, vous voulez au moins quelques pixels de remplissage ou il pourrait vous couper un peu.