如何告诉TextArea中的SPARK滚动条重新计算?

时间:2012-07-16 09:36:01

标签: textarea scrollbar refresh flex-spark

我在SPARK文本区域中遇到垂直滚动问题。我在创建完成时添加了简单代码,在文本区域插入200行:

private function creationCompleteHandler(event:FlexEvent):void
{
  for (var iind:uint = 1; iind < 200; iind++)
  {
    testTextArea.text += iind.toString() + "\n";
  }
}

当我开始申请时,我注意到滚动条的最后10%(大约)是“自由行走”。当滚动打开时,90%的页面一直向下滚动,当我在滚动条的最后10%移动滚动条的拇指时,没有任何动作。

直到我在浏览器的文本区域中更改文本,然后滚动条才正常。

由于

编辑:我尝试发送事件“更改”,但它仍然无效。

1 个答案:

答案 0 :(得分:0)

在creationComplete块中尝试下面,尽管没有多大意义:

testTextArea.scroller.verticalScrollBar.value =    testTextArea.scroller.verticalScrollBar.maximum;
testTextArea.validateNow();
testTextArea.scroller.verticalScrollBar.value = 0;

然后当你听:

testTextArea.scroller.verticalScrollBar.addEventListener(Event.CHANGE, on Change);

你可以随心所欲:

if(testTextArea.scroller.verticalScrollBar.value >= (testTextArea.scroller.verticalScrollBar.maximum-5))

这当然看起来很丑陋!