【发布时间】:2016-02-13 23:23:52
【问题描述】:
问题:
我有一个带有 2 个子视图的 ScrollView,我希望它们中的第一个(让我们称之为 ViewA)具有 {flex: 1} 以便另一个(ViewB)将粘在屏幕底部 - 但前提是它们的总高度小于屏幕。当然,如果它们高于屏幕,我希望它像往常一样滚动。
案例 1 (GOOD):ViewA 带有长文本,ViewB 随之滚动。 https://rnplay.org/apps/slCivA
案例 2 (BAD):ViewA 带有短文本,ViewB 不粘在底部。 https://rnplay.org/apps/OmQakQ
尝试过的解决方案:
所以我将 ScrollView 的样式和 contentContainerStyle 设置为 flex: 1. I 还将 ViewA 的样式设置为 flex:1。但是当我这样做时,ScrollView 的 contentContainer 视图被固定到屏幕高度,因此在需要时无法滚动,甚至更糟 - ViewB 与 ViewA 重叠。
案例 3 (BAD):ViewB 粘在底部,但整个东西没有滚动。 https://rnplay.org/apps/wZgtWA
如果这是一个错误 - 如何修复/解决它? 如果这是预期的行为 - 我怎样才能实现我所描述的?
谢谢。
【问题讨论】:
-
你能复制这个问题,或者在rnplay.org 上设置一个例子吗?谢谢。
-
是的 - 这里是:rnplay.org/apps/wZgtWA。请注意,即使没有 ViewB,一旦在 contentContainerStyle 上设置了
flex:1,您就无法滚动页面。
标签: ios flexbox react-native