近一年来我一直在使用 Flex 遇到这个问题,每次我都想出一个暂时有效的快速破解解决方案。我想看看是否有人有更好的主意。
以下是问题的条件:
|------Container ------------|
| explicitHeight: 400 (or whatever)
| |
| |-------- VBox -------| |
| | percentHeight: 100 | |
| | | |
| | |-Repeater------| | |
| | | Potentially | | |
| | | a lot of stuff. | |
|--|--|---------------|---|---|
问题是,与我希望发生的相反,VBox 将始终扩展以容纳其中的内容,而不是坚持其父级的显式高度并创建滚动条。
我的解决方案是在对父项的引用中进行硬编码(或者无论我们需要在显示列表的多远位置找到一个明确设置的值而不是百分比)。
我什至考虑在实用程序类中使用它:
public static function getFirstExplicitHeightInDisplayList(comp:UIComponent):Number{
if (!isNaN(comp.explicitHeight)) return comp.explicitHeight;
if (comp.parent is UIComponent) return
getFirstExplicitHeightInDisplayList(UIComponent(comp.parent));
else return 0;
}
请告诉我有更好的方法。