ScrollPane не работает с динамическим контентом в as3 - PullRequest
1 голос
/ 17 февраля 2012
scrollPane.setSize(400,400);
scrollPane.source=emptyc;

Где emptyc - это контейнер, в который я добавляю содержимое динамически (т.е. методом addChild), не работает.Он просто не прокручивается вообще.

Также не работает, если я добавляю контент, используя scrollPane в качестве самого контейнера (то есть:

scrollPane.addChild(myChild);

1 Ответ

4 голосов
/ 17 февраля 2012

Проблема в том, что экземпляр ScollPane не имеет ни малейшего представления о том, что вы обновили его содержимое (добавил дочерний элемент в emptyc / etc.), Поэтому вам нужно указать его update () .

Вот базовый пример:

var b:BitmapData = new BitmapData(2,2,false,0xFFFFFF);
b.setPixel(0,0,0);b.setPixel(1,1,0);
var s:Shape = new Shape();

var sp:ScrollPane = new ScrollPane();
sp.scrollDrag = true;
sp.source = s;
addChild(sp);


s.graphics.beginBitmapFill(b);
s.graphics.drawRect(0,0,1000,1000);
s.graphics.endFill();
sp.update();

Обратите внимание, что вы получаете то же поведение, которое вы упоминаете, если вы комментируете sp.update();.Также в документации есть пример.

...