react-native – 如何在React Native中获取Native元素的维度和位置

我正在使用一个名为react-native-svg的框架在反应原生视图中绘制SVG元素.

我的目标是当我点击视图时(我在全局视图上使用PanResponder来获取),最接近点击的元素会发生变化.

我有我需要的一切,除了一件事:我需要能够知道我的svg元素的位置,以及它们的大小,以便找到最接近tap事件的那个.

现在,我已经尝试了大部分可用的东西,我会说:

> onLayout:那些svg元素似乎不是视图,因此不会调用onLayout回调.
> this.refs.elem.measure:与onLayout相同,它们不是视图,因此measure函数未定义.
> UIManager.measure(ReactNative.findNodeHandle(this.refs.elem),callback):除了react-native-svg组件Svg之外,所有值都返回0,但不是所有其他值:G,Path,Line等.

所以我想知道是否有任何其他解决方案,或者我是否注定失败. 🙂
我是否必须在react-native-svg中更改某些内容以允许我找到这些值,或者是否有任何解决方案可供我使用?

谢谢!

最佳答案 我最后不得不为react-native-svg添加一些功能,这样我就能得到不同元素的大小.

它做得不是很好,但是我可以回来找一个更清洁的解决方案然后提交PR.

谢谢.

点赞