当我将一个ComboBox组件添加到Sprite中时,容器的高度比它应该大。如何在Flash中修复ComboBox组件的潜在错误?
这里就是我的意思是:
import fl.controls.ComboBox;
//add combo box inside a container sprite
var combo:ComboBox = new ComboBox();
var container:Sprite = new Sprite();
addChild(container);
container.addChild(combo);
//draw the outline of the container sprite
container.graphics.lineStyle(1,0x009900);
container.graphics.drawRect(0,0,container.width,container.height);
//I don't get this:
trace(combo.height);//outputs 22
trace(container.height);//outputs 101
注:您需要在您的库中的ComboBox组件。我正在使用Flash CS3。
如果我无效/重绘,这样的:
combo.invalidate(InvalidationType.ALL,true);
combo.drawNow();
高度从101变为104
任何解决方案?
更新: 我覆盖了ComboBox子类中的configUI方法,但测量结果始终正确。为什么容器高度变为100?
这听起来相当准确(+1)。我稍后会放弃,谢谢你! – 2012-11-13 17:50:33
当然,我只是遇到了同样的问题,碰到了你的问题,一旦我解决了它,我想分享知识;) – 2012-11-14 08:05:45
测试,它的工作!好一个 :) – 2012-11-14 20:45:24