在带有 Objective-C 的 iOS 中,我们可以UITableView
通过使用方法滚动到特定的行索引,scrollToRowAtIndexPath
但在 React-Native 中我没有找到这种Listview
在特定行索引处滚动的方法。
以下是场景,
- 有
Listview
这样的可扩展行,例如在点击它时会扩展并且可扩展行包含TextInput
组件。 - 在 中输入文本时
TextInput
,键盘将显示出来,理想情况下Listview
应该向上滚动(一旦键盘放下,Listview
应该向下滚动到之前的位置)。
这可以通过 Native-iOS 轻松实现,但我被困在 React-Native 中。
我尝试了以下方法,但效果不佳
scrollTo(x:0,y:10,animated:true)
在组件中调用了一个方法Listview
(实际上是它的方法Scrollview
),通过它可以根据父视图的y 坐标向上/向下滚动。
我在我的代码中成功接收到键盘的 Up & Down 事件,基于此,我可以在键盘启动时以某种方式管理scrollTo
(通过计算y 坐标)(如@Alexey 的回答中所述),但我不知道如何计算y键盘掉下来时的坐标?(此时理想情况下,Listview 应该向下滚动到其先前位置)。
任何帮助或提示将不胜感激!