2016-08-24 9 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コンポーネントにアクセスする方法はわかりませんが、を内部で使用するのと同じUIManager.measure(reactTag, callback)関数を使用できます。

これは文書化されていませんが、iOSの場合はhere、Androidの場合はhereとなっています。

これを使用して、ネイティブビューのすべてのサイズ値を取得できます。たとえば、上の例の図:

​​
+0

ありがとうございます、魅力的な作品です! –

関連する問題