我在一个viewstack中有两个VBox容器,而视图堆栈在HBox中,我已经将VBox的高度和宽度都设置为100%,对于视图堆栈也是如此。我的问题是,视图堆栈不显示容器childs的全部内容,只显示其中的一部分,并显示垂直滚动,尽管宽度被拉伸以填充容器hbox的整个宽度,但为什么视图堆栈不拉伸以显示子容器的100%高度,而只显示宽度?
主应用程序包含HBox,其中包含一个模块加载器控件,该控件加载包含视图堆栈的模块
主要应用:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalScrollPolicy="on"
xmlns:custom="components.*">
<custom:RepeatingImage source="images/up_bg.gif" width="100%" height="100%" repeatX="true" repeatY="false" />
<mx:Canvas width="100%">
<custom:header id="header" />
<mx:HBox id="content" horizontalGap="12" width="100%" x="12" y="180">
<mx:ModuleLoader id="contentModuleLoader" width="100%" />
<custom:sidead />
</mx:HBox>
</mx:Canvas>
<custom:footer id="footer" />
</mx:Application>模块:
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:custom="components.*" width="100%">
<mx:LinkBar dataProvider="stack" />
<mx:ViewStack id="stack" width="100%">
<mx:VBox id="Content" label="First View" width="100%">
<mx:Canvas width="100%">
//controls here
</mx:Canvas>
<mx:Canvas width="100%">
<mx:HBox width="100%">
<mx:VBox width="100%">
//more controls and containers
</mx:VBox>
</mx:HBox>
</mx:Canvas>
</mx:VBox>
<mx:VBox label="Second View">
//controls
</mx:VBox>
</mx:ViewStack>
</mx:Module>发布于 2010-03-23 23:38:12
您是否尝试过使用viewStack的resizeToContent属性?
发布于 2010-03-10 00:21:51
我同意查看代码会有所帮助,但在我看来,HBox可能是受约束的UI元素--确保它的大小足够大,以便不需要在ViewStack中使用滚动条。
您通常可以使用backgroundColor和backgroundAlpha,或者通过引入FlexSpy或类似的工具来诊断类似的问题。
发布于 2010-03-10 23:29:18
为什么视图堆栈不伸展以显示其子对象的100%高度,而只显示宽度?
我应该昨天就发现这个。将任何值设置为100%都会使其适合父容器,而不是子容器。我试着遵循你的代码,我必须承认我迷失在其中。我非常确定这个问题存在于你的视图堆栈之上(在父/子关系中,不一定在代码顺序中)
https://stackoverflow.com/questions/2409732
复制相似问题