Actionscript 3 Высота TextField - PullRequest
       16

Actionscript 3 Высота TextField

2 голосов
/ 19 октября 2011

Мне нужно установить для свойства автоматического изменения размера текстового поля значение НЕТ, чтобы гарантировать, что ссылки HTML не будут перемещаться при одновременном переключении.текст без прокрутки?

Я попробовал следующее, но по какой-то причине я не могу понять, это сжатие высоты моего текста:

htmlTextField.autoSize = TextFieldAutoSize.LEFT;   
htmlTextField.htmlText = htmlText;
var recordedHeight:Number = htmlTextField.textHeight;
htmlTextField.autoSize = TextFieldAutoSize.NONE;
htmlTextField.height = recordedHeight + htmlTextField.getTextFormat().leading + 1;

Ответы [ 2 ]

3 голосов
/ 19 октября 2011

TextFields имеет 2px желоб , поэтому это может сбить вас с толку.

package
{
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFormat;

    [SWF(frameRate="30", backgroundColor="#FFFFFF", width="500", height="500")]
    public class TextfieldHeight extends Sprite
    {
        public function TextfieldHeight()
        {
            var textFormat:TextFormat = new TextFormat();
            textFormat.size = 11;
            textFormat.font = "Georgia";

            var htmlTextField:TextField = new TextField();
            htmlTextField.setTextFormat( textFormat );
            htmlTextField.width = 250;
            htmlTextField.border = true;
            htmlTextField.wordWrap = true;
            htmlTextField.autoSize = TextFieldAutoSize.NONE; 
            htmlTextField.htmlText = '<a href="http://www.google.com">Lorem ipsum dolor</a> sit amet, consectetur adipiscing elit. Aliquam sodales, eros at convallis viverra, risus mauris euismod tortor, ac imperdiet sem augue vitae risus. Morbi ut sem neque. Vestibulum accumsan posuere augue, eu consectetur nibh porttitor eget. Sed suscipit sodales dui id pharetra. Vivamus quis hendrerit lectus. Vivamus interdum, felis a convallis dictum, libero erat aliquet massa, non placerat neque augue quis lacus. Aliquam viverra sem ultrices leo lacinia eu dignissim dolor ullamcorper. Etiam ullamcorper tincidunt velit, a vulputate sapien consequat quis.';
            htmlTextField.height = htmlTextField.textHeight + 4;

            this.addChild( htmlTextField );
        }
    }
}
0 голосов
/ 19 октября 2011

Если вы зайдете сюда и прочитаете.
вы увидите.

Возвращает flash.text: TextFormat - объект TextFormat, представляющий свойства форматирования для указанного текста.

Теперь, если вы посмотрите на TextFormat Вы увидите, что по умолчанию все в значительной степени 0

Я столкнулся с этой проблемой очень давно, и единственное, что я нашел, - это выделил какой-то текст, затем взял defaultTextFormat и затем отменил выбор текста.

Я уверен, что есть другой способ сделать это, но, как я уже сказал, это был мой хак-раунд.

...