有什么方法可以在react native中获得TextInput光标的Y位置吗?我并不是说光标选择状态的开始和结束。我想要实现的是,当键盘打开时,我想根据光标的位置显示模式,就像在Facebook和Instagram中提到的那样。或者光标可能在哪一行?这样,我也许可以计算光标的位置。
意思是,如果光标在TextInput的开头(屏幕顶部),我想在光标下方显示模式,直到键盘。而且如果光标位于TextInput的中间或底部(屏幕顶部和键盘之间可见区域的中间),我想在光标上方显示模式。
答案 0 :(得分:2)
我希望通过在TextInput组件内部实现虚拟Text组件,以@JohnKrakov方法获得光标的位置。但这是不可能的,因为Text component的性质。我已经设法在React Web应用程序中解决了这个问题,但没有使用react native。
但是,我发现了medium post,该内容涉及如何在react native中提取光标的位置。这是篇非常冗长的文章,所以我无法回答这篇文章中的步骤,而是请您浏览他的文章,并对他的工作表示赞赏。
更新
有一个功能请求,以在react native中获取光标位置。如果您也需要它,请vote the request in this link。
答案 1 :(得分:0)
除了您在链接上看到的内容以外,我相信您可以结合使用https://facebook.github.io/react-native/docs/textinput#oncontentsizechange和onLayout来实现所需的功能。
第一个将为您提供正在处理的文本的大小,onLayout应为您提供周围View的绝对/相对位置/尺寸,以便您能够计算光标的位置。