8.12. Sizing Text Fields to Fit Contents
Problem
You want to size a text field’s viewable area to fit the text it contains.
Solution
Use the autoSize property, or create and use a
custom createAutoTextField( ) method.
Alternatively, you can also set the _width and
_height properties based on the values of the
textWidth and textHeight
properties.
Discussion
You can set the autoSize property of a text field
so that it automatically resizes itself in order to fit its contents.
By default, autoSize is set to
“none”, meaning that the text field
does not automatically resize. There are six possible values for the
autoSize property, but two possible values are
redundant, leaving four effective settings:
-
“left” or
true Set the property to “left” or
trueif you want the text field to resize while fixing the upper-left corner’s position. In other words, the text field’s lower-right corner will be the point that moves when it expands and contracts.// These two lines do the same thing. myTextField.autoSize = "left"; myTextField.autoSize = true;
- “center”
Set the property to “center” if you want the text field to be anchored at its center point. While the top of the object remains fixed, it will expand and contract downward and equally to the right and left.
myTextField.autoSize = "center";
- “right”
Set the property to “right” if you want the upper-right corner of the text field to remain steady while the object expands and contracts in the direction of the lower-left corner:
myTextField.autoSize = "right"; ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access