scrollPane.setSize(400,400);
scrollPane.source=emptyc;
其中 emptyc 是一个容器,我在其中动态添加内容(即通过 addChild 方法)不起作用。它根本不滚动。
如果我使用 scrollPane 作为容器本身添加内容(即:
scrollPane.addChild(myChild);
scrollPane.setSize(400,400);
scrollPane.source=emptyc;
其中 emptyc 是一个容器,我在其中动态添加内容(即通过 addChild 方法)不起作用。它根本不滚动。
如果我使用 scrollPane 作为容器本身添加内容(即:
scrollPane.addChild(myChild);
问题是 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();
。此外,文档中有一个示例。