Actionscript 3 ActionScript 3:UIScrollBar bug(?)-容器返回的宽度+;85px

Actionscript 3 ActionScript 3:UIScrollBar bug(?)-容器返回的宽度+;85px,actionscript-3,scrollbar,uicomponents,Actionscript 3,Scrollbar,Uicomponents,使用Flash CS5,我今天遇到了一些奇怪的事情 UIScrollBar组件的刚性宽度为15px。当您将其添加到容器(如精灵)中时,您希望精灵的宽度返回15,但它返回100 下面是一个示例代码 import flash.display.Sprite; import fl.controls.UIScrollBar; var spr:Sprite = new Sprite(); addChild(spr); trace('spr.width:',spr.width); var bar:UISc

使用Flash CS5,我今天遇到了一些奇怪的事情

UIScrollBar组件的刚性宽度为15px。当您将其添加到容器(如精灵)中时,您希望精灵的宽度返回15,但它返回100

下面是一个示例代码

import flash.display.Sprite;
import fl.controls.UIScrollBar;

var spr:Sprite = new Sprite();
addChild(spr);
trace('spr.width:',spr.width);

var bar:UIScrollBar = new UIScrollBar();
spr.addChild(bar);
trace('bar.width',bar.width);
trace('spr.width:',spr.width);
有趣的是,产出是有限的

spr.width:0
条宽15
spr.宽度:100


有人知道那里发生了什么吗?这是一个bug吗?

发现这是一种bug。所发生的情况是,它需要一些时间在舞台上绘制/渲染组件,以便只有在绘制组件后才能访问其大小。作为记录,在我的计算机中,需要1毫秒才能返回预期值

另一个令人惊讶的问题是,UIScrollBar返回15px作为其宽度,而容器sprite返回16px。对于那些寻找原因的人来说,这可能与条形图的轮廓有关,它是用
thickness=1
scaleMode=LineScaleMode.NONE
绘制的。我写的一个类也有同样的问题,在这个类中,我必须通过在每个超级方法的返回值中添加1来覆盖宽度和高度getter