ViewStack高度问题

时间:2010-03-09 14:32:09

标签: flex

我在ViewStack中有2个VBox容器,并且viewstack在HBox内部,我已经将vbox的高度和宽度设置为100%,并且视图堆栈也是如此。 我的问题是视图堆栈不显示容器子项的整个内容只是它的一部分并显示垂直滚动,虽然宽度被拉伸以填充容器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>

5 个答案:

答案 0 :(得分:7)

您是否尝试过使用viewStack的resizeToContent属性?

答案 1 :(得分:0)

同意看到代码会有所帮助,但听起来像HBox可能是约束的UI元素 - 确保它的大小足够大,不需要{{1}中的滚动条1}}。

您通常可以使用ViewStackbackgroundColor或通过引入FlexSpy或类似内容来诊断此类问题。

答案 2 :(得分:0)

  

为什么viewstack不会延伸到   显示其孩子的100%身高   它仅用于宽度吗?

我昨天应该抓住这个。将任何内容设置为100%使其适合父容器,而不是子容器。我试着遵循你的代码,并且必须承认我迷失了它。我很确定问题存在于您的视图堆栈之上(在父/子关系中,不一定在代码顺序中)

答案 3 :(得分:0)

您是否尝试修改了填充属性?

答案 4 :(得分:0)

ViewStack中有一个属性“resizeToContent”,您可以将其设置为true。那应该做你想要的。