Flash AS3: обрезать содержимое TextField по X строк, добавить '' в конце

В интерфейсе есть место только для трех строк текста, но содержимое является внешним и переменным, и если оно в конечном итоге занимает более трех строк, должна быть какая-то кнопка «просмотреть все». Я могу представить, как должна выглядеть эта функция, но я не совсем уверен, как лучше всего это сделать в AS3. Что-то вроде (в псевдокоде):

function cropText(source:TextField, length:int, append:String):TextField{
    if(source.lineCount > length){
        source.text = // magic function that retuns the first length lines,
        // minus append.length characters, with the append value tacked onto the end
    }
    return source;
}

... Правильно? Как бы вы восполнили недостающую часть?


person matt lohkamp    schedule 08.04.2010    source источник


Ответы (1)


Что-то вроде...

private function cropText(source:TextField, length:int, append:String):TextField {
    if (source.numLines > length) {
        source.text = source.text.substr(0, source.getLineOffset(length) - append.length) + append;
    }

    return source;
}
person mrkishi    schedule 08.04.2010