Ограничение текста для разведения текста доступно - PullRequest
0 голосов
/ 28 мая 2011

Я пытаюсь создать динамически изменяемый текстовый элемент sparkArea, который ограничивает возможный текст до его размера.

Например, текстовая область имеет значение width = "300" и height = "100".Теперь пользователь должен иметь возможность вводить или вставлять столько текста, сколько может быть видно в компоненте.Я не хочу, чтобы textArea прокручивал или перенос строки, если вводится больше текста.

Я перепробовал все виды подходов, но ни один из них не увенчался успехом.

Помощь очень важна!

Ответы [ 2 ]

0 голосов
/ 08 октября 2012

для текстовой области Spark Я использовал это при каждом изменении текста:

while (textArea.textFlow.flowComposer.numLines> textArea.heightInLines) textArea.text = textArea.text.substr (0, textArea.text.length-1);

0 голосов
/ 16 ноября 2011

Я столкнулся с той же проблемой, но идеального решения не найдено. Но я нашел простой обходной путь для этой проблемы.

Spark TextArea имеет атрибут textDisplay типа IEditableText. по умолчанию этому атрибуту назначен компонент RichEditableText. В этом компоненте есть свойство contentHeight. Я использовал это свойство, чтобы определить, превышает ли высота текста textArea height. Итак, мое простое решение таково:

protected function textArea1_changeHandler(event:TextOperationEvent):void { 
       if (textArea1.textDisplay is RichEditableText){
             if ((textArea1.textDisplay as RichEditableText).contentHeight > textArea1.height){
                     textArea1.maxChars = textArea1.text.length;
              }
              else {
                     textArea1.maxChars = 0;
              }
       }
}

Конечно, это необходимо настроить перед использованием в приложении. Но я хотел опубликовать решение как можно скорее :) Я опубликую точную логику требуется. Но я думаю, что вы тоже можете сделать это самостоятельно ...

...