Я программно заполняю текстовое поле и прокручиваю его до maxScrollH по мере добавления нового текста, чтобы пользователь мог видеть прогресс текста. Это работает нормально, пока я не щелкну TextField, который устанавливает scrollH обратно в 0 и помещает курсор в текст в эквивалентную позицию.
textField.setSelection( text.length, text.length ); //sets the caretIndex/selection to the end
textField.scrollH = textField.maxScrollH; //scrolls to max
это код, который я использую для прокрутки при обновлении текстового свойства textField. Я попытался добавить слушателя к событию щелчка на textField, который работает определенным образом, но вызывает видимый скачок.
override protected function createChildren() : void
{
super.createChildren();
textField.addEventListener(MouseEvent.CLICK, handleTextFieldClick, false, 0, true);
}
protected function handleTextFieldClick(event:MouseEvent):void
{
textField.scrollH = currentTextFieldScrollPosition; //stored scrollH value
trace(textField.scrollH);
}
Я предполагаю, что где-то вычисляется или сохраняется позиция прокрутки, которую я не могу найти.