Добрый день,Контейнер не сообщается размер правильно от RCTUIManager.measure и OnLayout
Я пытаюсь программно прокручивать Scrollview, который содержит вид контейнера, который больше, чем ScrollView в истинном размере. Однако ScrollView должен отсекать контейнер с заданным размером. Поэтому, если высота ScrollView составляет 600 пикселей, а размер контейнера - 1000 пикселей, тогда мне нужен доступ к 1000px, чтобы я мог прокручивать программно. Эта проблема была решена на github для другого разработчика здесь, но это, похоже, не работает для меня. Вот то, что я пробовал:
<ScrollView> <View onLayout={(event) => {console.log(event.nativeEvent.layout);}> ... </View> </ScrollView>
Попытка 1: Положите обратный вызов OnLayout в обоих Scrollview и внутренний просмотре и использовать высоту макета Innerviews. Результат: Это не работает как ScrollView и внутренний View сообщают высоту 600.
Попытка 2: Сохранить ссылку на ScrollView, а затем вызвать функцию измерения RCTUIManager в более поздние точки так:
RCTUIManager.measure(this.refs.scrollView.getInnerViewNode(), (...data)=>{console.log(data)});
Результат: Это тоже не сработало, innerViewNode снова сообщает о высоте контейнера (4-й параметр в данных) 600.
У любого есть разное решение для получения высоты контейнера? Я определенно помещаю представление 1000 px в виде прокрутки в 600 пикселей и, когда я прокручиваю программно, говорю 100px, я вижу, что контент на самом деле больше, чем оболочка ScrollView.
Спасибо за любую помощь, которую любой может предоставить!