2016-03-16 2 views

ответ

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) 
} 
+0

Спасибо, но, как вы можете увидеть в моем примере я использую ListView. – Maksim

+0

Оберните ListView внутри ScrollView, затем? – zvona

+0

Можете ли вы поделиться примером на rnplay.org, пожалуйста? – Maksim

0

Кажется this thread является то, что вы находясь в поиске.

TL; DR: see this stackoverflow question

+0

Он не работает с ListView. – Maksim

+0

'listView.getScrollResponder(). ScrollTo();' не работает? (listView - это ссылка на элемент ListView, который у вас есть) –

+0

Можете ли вы поделиться простым примером на rnplay.org, пожалуйста? – Maksim