У меня есть ScrollView внутри анимированного представления с панорамированием.
<Animated.View {...this.panResponder.panHandlers}>
<ScrollView>
...
</ScrollView>
<Animated.View>
Это примерное представление моего экрана:
Пользователь должен иметь возможность проводить пальцем вверх, а перетаскиваемая область должна щелкать вверх, как показано ниже:
Теперь моя проблема заключается вScrollview.Я хочу, чтобы пользователь мог прокручивать содержимое внутри.
После того, как пользователь завершил просмотр содержимого внутри и прокручивал все вверх (выполняя движение вниз) и пытается провести дальше, перетаскиваемая область должна двигаться вниз в исходное положение.
Я пробовал различные методы, в основном фокусируясь на отключении и включении прокрутки ScrollView, чтобы предотвратить его влияние на панорамирование.
Мое текущее решение не является идеальным.
Моя главная проблема заключается в следующих 2 методах:
onStartShouldSetPanResponder
onStartShouldSetPanResponderCapture
Не уверен, что мое предположение верно, но эти методы решают, если Viewдолжен захватить событие касания.Я либо разрешаю панорамирование, либо позволяю ScrollView захватывать событие вместо этого.
Моя проблема заключается в том, что мне нужно каким-то образом знать, что пользователь собирается делать, прежде чем другие обработчики панорамы включатся. Но я не могу знать, пока пользователь непереместился вниз или вверх.Чтобы узнать направление, мне нужно передать событие в обработчик onPanResponderMove .
Поэтому, по сути, мне нужно решить, следует ли разрешить перетаскивание моего вида, прежде чем я узнаю направлениепользователь сильно ударилВ настоящее время это невозможно.
Надеюсь, я упустил что-то простое здесь.
РЕДАКТИРОВАТЬ : нашел похожий вопрос (без ответа): Перетащите ScrollView, а затем продолжите прокрутку в React Native