如何在TabNavigator中找到子项的高度,而没有Tabs的高度?

时间:2009-11-13 22:09:25

标签: flex

我正在使用TabNavigator调整大小问题。 TabNavigator的直接孩子是画布,在这些中我添加了图像。我正在尝试调整图像大小以适应Canvas而不使用滚动条。 Canvas高度设置为父级的100%,即TabNav。然后我正在设置image.height = parent.height * .9

结果是Flex正在生成滚动条,因为图像太高。看来根本原因是TabNavigator的height属性是整个组件的高度,包括选项卡的高度。因此我假设它还包含选项卡和TabNavigator的子项之间的小条空间。

这是有道理的,但是有一个只返回孩子身高的属性吗?

我知道滚动条策略属性,我已经尝试过这些。我知道我也可以尝试使用不同的乘数来使图像大小合适。看起来应该有一个属性来获得孩子们的空间大小。

1 个答案:

答案 0 :(得分:0)

查看源代码,有一个“contentHeight”属性似乎是你想要的东西。

该方法以此行结束:

return unscaledHeight - tabBarHeight - vmTop - vmBottom;

这似乎正是您正在寻找的。不幸的是,这个属性受到保护,就像我们开发人员想要从Flex库中获取的许多东西一样。 :)

使用此方法的最快解决方案是子类TabNavigator并公开显示此属性;或者你可以自己做这个计算:

image.height = (parent.height - TabNavigator(parent).tabBar.height) * .9);