我有一组UIMovieClip组件,它们位于s:HGroup标签中。在ActionScript代码中,我正在修改其中一个UIMovieClip中子剪辑的宽度,但这些更改不会被s:HGroup反映。
<s:HGroup id="_buttonGroup">
<uiassets:NavigationTabButtonSWC id="_lobby" />
<uiassets:NavigationTabButtonSWC id="_achievements" />
</s:HGroup>
<fx:Script>
<![CDATA[
protected function init() : void
{
// The HGroup does not pickup this change and so my buttons
// are no longer evenly spaced out and overlap!
_lobby.getChildByName("background").width += 200;
}
]]>
</fx:Script>
谢谢!
答案 0 :(得分:1)
这有几个原因。只更改一个孩子的宽度并不意味着它会改变整个UIMovieClip的宽度,所以你应该先检查它。
其次,Flex有一种非常具体的处理方式(称为组件生命周期),UIMovieClip没有实现,因此您无法在“度量”功能中自行管理宽度。我猜你在你的影片剪辑中只有其他孩子不会让你调整大小。尝试更改MovieClip本身的宽度,它应该工作。如果没有,那么还有另一个问题。