2016-08-24 40 views
6

我需要知道當前集中輸入的位置以進行一些計算。最後我想打電話給.measure()如何獲取當前焦點輸入的位置?

我得到了什麼:

import { TextInput } from 'react-native'; 

const { State: TextInputState } = TextInput; 
var currentlyFocussedField  = TextInputState.currentlyFocusedField(); 

console.log('currentlyFocussedField', currentlyFocussedField); 

但這只是返回文本字段的ID(如394,而下一個字段是395)。我如何訪問真正的元素/對象,或者如何獲得它在屏幕上的位置?

回答

4

我不知道如何從JavaScript中的數字reactTag訪問React組件,但您可以使用RN在內部使用的相同UIManager.measure(reactTag, callback)函數來使.measure()正常工作。

它沒有記錄,但您可以在iOS上找到來源here,爲Android找到here

您可以使用它來獲取本機視圖的所有大小值。例如,從上面的示例中繪製:

​​
+0

謝謝,作品像一個魅力! –