我需要知道当前聚焦输入的位置以进行一些计算.最后我想打电话.measure()给它.
我得到了什么:
import { TextInput } from 'react-native';
const { State: TextInputState } = TextInput;
var currentlyFocussedField = TextInputState.currentlyFocusedField();
console.log('currentlyFocussedField', currentlyFocussedField);
Run Code Online (Sandbox Code Playgroud)
但是这只返回文本字段的id(比如394,下一个字段是395).如何访问真实元素/对象或如何在屏幕上显示其位置?
我不知道如何从reactTagjavascript中的数字访问React组件,但是您可以使用UIManager.measure(reactTag, callback)RN在内部使用的相同功能来完成.measure()工作.
它没有记录,但你可以找到源头在这里,为iOS和这里为Android.
您可以使用它来获取本机视图的所有大小值.例如,从上面的示例中提取:
import { UIManager, TextInput } from 'react-native';
const { State: TextInputState } = TextInput;
const currentlyFocusedField = TextInputState.currentlyFocusedField();
UIManager.measure(currentlyFocusedField, (originX, originY, width, height, pageX, pageY) => {
console.log(originX, originY, width, height, pageX, pageY);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3764 次 |
| 最近记录: |