0

我在 ios 上使用 listView 和 TextInputs,当 TextInput 将其聚焦在键盘后面时。如何解决?

示例代码:http ://rnplay.org/apps/8baZSA

4

2 回答 2

0

似乎这个线程是你正在寻找的。

TL;DR:请参阅此 stackoverflow 问题

于 2016-03-17T09:40:47.343 回答
0

您需要使用<ScrollView>而不是<View>才能使用此方法。

关键方法是scrollResponderScrollNativeHandleToKeyboard(refToElement, scrollHeight, preventNegativeOffset)(听起来很酷,对;))

我有:

<TextInput ref='ccName' onFocus={(() => this.onFieldFocus('ccName'))} />

其中函数如下所示:

onFieldFocus(fieldName) {
  this.setTimeout(() => {
    let scrollResponder = this.refs.scrollView.getScrollResponder()
    scrollResponder.scrollResponderScrollNativeHandleToKeyboard(
      React.findNodeHandle(this.refs[fieldName]), 200, true
    )
  }, 125) 
}
于 2016-03-16T10:28:57.557 回答