2015-11-06 2 views
12

Я пытаюсь реализовать пользовательский интерфейс, где есть полная страница <ScrollView /> с <View />, расположенными абсолютно под ней. <ScrollView /> имеет прописку вверху, поэтому изначально видна <View />, а затем <ScrollView /> прокручивается, чтобы закрыть ее. Конечно, проблема заключается в том, что <View /> не получает прикосновений, так как их съедает ответчик <ScrollView />.Передача событий касания через ScrollView

Есть ли какой-либо способ реализовать или подкласс <View />, чтобы вы могли передавать события через базовые элементы?

+1

На какой платформе вы нацеливаетесь? Это может не сработать для вас, но если вы установите прозрачный фон прокрутки, это может помочь в iOS. Я считаю, что это iOS, которая передает события касания через прозрачные оверлеи. Возможно, это полностью назад, и я не могу найти ссылку прямо сейчас. И это может не относиться к scrollview. Но на всякий случай это поможет ... –

+0

Не могли бы вы предоставить небольшое приложение rnplay для этой проблемы? Это поможет выяснить, как это решить. –

+0

Вы когда-нибудь находили решение для этого Майка? Идем по той же самой проблеме! – simonthumper

ответ

1

Вы должны использовать Animated.View, который принимает ScrollViewy смещение как Animated.Value опора. Затем вы можете использовать это значение для выполнения анимаций при прокрутке ScrollView. Свиток будет захватывать анимацию панорамы и передавать ее через реквизиты для тех, кто в ней нуждается.

Одним из лучших образцов кода, которые вы найдете для этого, является приложение F8 для Facebook. Именно этот файл: https://github.com/fbsamples/f8app/blob/b5df451259897d1838933f01ad4596784325c2ad/js/common/ListContainer.js. В этом файле ParallaxBackground получает смещение Animated.Value, которое исходит от детей ListView.

Смежные вопросы