Flash AS3: обрезка содержимого TextField по X строкам, добавление «...» в конце - PullRequest
1 голос
/ 08 апреля 2010

В интерфейсе есть место только для трех строк текста, но контент является внешним и переменным, и, если он занимает более трех строк, должна быть какая-то функциональность кнопки «Просмотреть все». Я могу подумать о том, как должна выглядеть эта функция, но я не совсем уверен, каким будет лучший способ сделать это в 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;
}

... верно? Как бы вы заполнили пропущенный бит?

1 Ответ

2 голосов
/ 08 апреля 2010

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

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;
}
...