setFocus()
метод только активирует компонент, а не прокручивает область просмотра.Для этого вы можете использовать
var spDelta:Point = dataGroup.layout.getScrollPositionDeltaToElement(index);
if (spDelta)
{
dataGroup.horizontalScrollPosition += spDelta.x;
dataGroup.verticalScrollPosition += spDelta.y;
}
, где dataGroup
может быть вашим VGroup
.
Если это не работает или не то, что вы хотите, вы можете попробоватьполучите высоту компонента, который вы хотите отобразить, и переместите скроллер на эту высоту
var index:Number = dataGroup.getElementIndex(comp);
var offset:Number = dataGroup.getElementAt(index).height;
scroller.viewport.verticalScrollPosition = index * offset;
Где dataGroup
- это VGroup
, а comp
- это сетка данных, которую вы хотите прокрутитьк.