草庐IT

ios - react native : Setting flex:1 on a ScrollView contentContainerStyle causes overlapping of components

coder 2023-07-29 原文

问题:

我有一个带有 2 个 subview 的 ScrollView,我希望它们中的第一个(我们称它为 ViewA)有 {flex: 1},这样另一个(ViewB)就会粘在屏幕底部——但前提是它们总高度小于屏幕。当然,如果它们高于屏幕,我希望它像往常一样滚动。

案例 1(良好):带有长文本的 ViewA,ViewB 随之滚动。 https://rnplay.org/apps/slCivA

情况 2(不好):带有短文本的 ViewA,ViewB 没有固定在底部。 https://rnplay.org/apps/OmQakQ

尝试过的解决方案:

所以我将 ScrollView 的样式和 contentContainerStyle 设置为 flex: 1. 我 同时将 ViewA 的样式设置为 flex:1。但是当我这样做时,ScrollView 的 contentContainer View 被固定到屏幕高度,因此无法在需要时滚动,甚至更糟 - ViewB 与 ViewA 重叠。

案例 3(错误):ViewB 停留在底部,但整个内容不滚动。 https://rnplay.org/apps/wZgtWA

如果这是一个错误 - 如何修复/解决它? 如果这是预期的行为 - 我怎样才能实现我所描述的?

谢谢。

最佳答案

尝试将 {flexGrow: 1} 喂给 contentContainerStyle Prop 代替

关于ios - react native : Setting flex:1 on a ScrollView contentContainerStyle causes overlapping of components,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33674789/

有关ios - react native : Setting flex:1 on a ScrollView contentContainerStyle causes overlapping of components的更多相关文章

随机推荐