iOS 上的 React-Native scrollToEnd 行为不同于手动滚动,将项目放在底部
React-Native scrollToEnd on iOS behaves differently than scrolling manually, putting items to bottom
请在 iOS 上考虑这个例子:https://sketch.expo.io/SyeyMSx_il
尝试手动滚动,一切看起来都很正常:没有评论消息保持在顶部。
如果您现在点击按钮,无评论消息会固定在底部。
如果您再次手动滚动,一切都会恢复正常。
为什么使用 scrollToEnd 应该不同于手动滚动?以及如何解决这种奇怪的行为?
如果不深入了解 ScrollView 的源代码,我不确定行为的原因,但您可以通过制作一个处理滚动到结束的函数来绕过它,仅当内容的大小时触发它大于视口的大小。
添加到 ScrollView contentContainerStyle={{ flexGrow: 1 }}
解决了这个问题。
立即查看:https://snack.expo.io/HkdP9_e1Z
请在 iOS 上考虑这个例子:https://sketch.expo.io/SyeyMSx_il
尝试手动滚动,一切看起来都很正常:没有评论消息保持在顶部。
如果您现在点击按钮,无评论消息会固定在底部。
如果您再次手动滚动,一切都会恢复正常。
为什么使用 scrollToEnd 应该不同于手动滚动?以及如何解决这种奇怪的行为?
如果不深入了解 ScrollView 的源代码,我不确定行为的原因,但您可以通过制作一个处理滚动到结束的函数来绕过它,仅当内容的大小时触发它大于视口的大小。
添加到 ScrollView contentContainerStyle={{ flexGrow: 1 }}
解决了这个问题。
立即查看:https://snack.expo.io/HkdP9_e1Z