【问题标题】:ScrollPane doesn't work with dynamic content in as3ScrollPane 不适用于 as3 中的动态内容
【发布时间】:2012-03-08 08:56:50
【问题描述】:
scrollPane.setSize(400,400);
scrollPane.source=emptyc;
emptyc 是一个容器,我在其中动态添加内容(即通过 addChild 方法)不起作用。它根本不滚动。
如果我使用 scrollPane 作为容器本身添加内容(即:
scrollPane.addChild(myChild);
【问题讨论】:
标签:
actionscript-3
scroll
addchild
scrollpane
【解决方案1】:
问题是 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();,您会得到与您提到的相同的行为。
此外,文档中有一个示例。