Flex 自定义组件不会调整大小

发布于 2024-10-30 06:11:25 字数 632 浏览 2 评论 0原文

我正在尝试使用以下事件处理程序创建一个扩展对象

public function pickerMove(e:MouseEvent):void {
        trace("in mouse move");
    var offsetX:int = e.stageX - touchX;
        trace(offsetX);
    picker.x += offsetX;
        trace(picker.width);
    picker.width -= offsetX;
        trace(picker.width);
    touchX = e.stageX;
}

picker.x += offsetX 按预期工作并移动组件的 x 坐标。

问题在于 picker.width -= offsetX

组件的宽度在屏幕上不会改变,但 picker.width 的值在控制台上打印时会发生变化。

以下是跟踪的一些示例输出:

in mouse move
-1
928
929
in mouse move
-1
929
930
in mouse move
-1
930
931

关于自定义组件大小调整,是否有一些我不知道的事情?

I am trying to create an expanding object with the following event handler

public function pickerMove(e:MouseEvent):void {
        trace("in mouse move");
    var offsetX:int = e.stageX - touchX;
        trace(offsetX);
    picker.x += offsetX;
        trace(picker.width);
    picker.width -= offsetX;
        trace(picker.width);
    touchX = e.stageX;
}

The picker.x += offsetX works just as expected and moves the the x coordinate of the component.

The problem is with the picker.width -= offsetX

The width of the component doesn't change on the screen, but the value of picker.width changes as it is printed out on the console.

Here's some sample output from the trace's:

in mouse move
-1
928
929
in mouse move
-1
929
930
in mouse move
-1
930
931

Is there something that I don't know about custom components resizing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

£冰雨忧蓝° 2024-11-06 06:11:25

尝试使用 UIComponent 失效机制并覆盖自定义组件中的 updateDisplayList() 以使用新宽度重新绘制组件。

Try to use UIComponent invalidation mechanisms and override updateDisplayList() in your custom component to redraw your component with new width.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文