如何在React Native

时间:2016-10-28 01:45:27

标签: react-native

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

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

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

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

  • 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中更改一些可以让我找到这些值的内容,或者是否有适合我的解决方案?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

感谢。