2016-10-28 45 views
4

我使用的是一個名爲react-native-svg的框架在反應原生視圖中繪製SVG元素。如何在React Native中獲取Native元素的尺寸和位置

我的目標是,當我的觀點挖掘(我用的是PanResponder在全球視野來獲取),即最接近水龍頭變化的元素。

我有我需要的一切,除了一件事:我需要能夠知道我的svg元素的位置以及它們的大小,以便找到最接近tap事件的位置。現在

,我試過最可利用的東西,我會說:

  • onLayout:這些SVG元素並不顯得見解,因此不叫onLayout回調。
  • this.refs.elem.measure:與onLayout相同,它們不是視圖,因此measure函數未定義。
  • UIManager.measure(ReactNative.findNodeHandle(this.refs.elem), callback):返回0所有值,除了反應母語-SVG組件SVG,但不是所有的人:G,道路,線路等

所以我在想,如果有任何其他解決方案或者如果我註定了。 :) 我是否必須改變react-native-svg中的某些內容才能讓我找到這些值或者是否有任何解決方案爲我準備好?

謝謝!

+0

如何在視圖元素中包裝SVG元素?然後onLayout將被調用父視圖元素。 – Jickson

回答

1

我終於不得不添加一些功能react-native-svg,這樣我才能得到不同元素的大小。

這不是很好,但我可能會回來找一個更清潔的解決方案,然後提交PR。

謝謝。

+0

嗨Julien,你可以發佈你的公關的參考,如果有的話? – CapelliC

+0

@CapelliC我沒有做PR,因爲如果我這樣提交,它會被拒絕。它可以在這裏https://github.com/FlatIO/react-native-svg,但它的方式落後,並且一些突破性變化使得重新貸款變得困難。因爲它符合我的需求,所以我現在不會重新定義它,我必須使用onLayout或其他方法來做適當的版本,然後我才能做一個PR。隨意做,如果你需要:) –

+0

非常感謝,我會研究它! – CapelliC

相關問題