ScrollView не позволяет прокручивать, если дочерние компоненты не являются Button или Touchable - PullRequest
0 голосов
/ 24 мая 2019

Мой компонент не работает, если я не изменю дочерние компоненты на один из этих типов Button, TouchableOpacity или TouchableWithoutFeedback.

<View style={{flex: 1}}>
   <View style={{backgroundColor: 'green'}}>
      <ScrollView horizontal={true} >
         <View style={{width: 314, height:187, marginRight: 10, backgroundColor: 'red'}} />
         <View style={{width: 314, height:187, marginRight: 10, backgroundColor: 'red'}} />
         <View style={{width: 314, height:187, marginRight: 10, backgroundColor: 'red'}} />
         <View style={{width: 314, height:187, marginRight: 10, backgroundColor: 'red'}} />
         <View style={{width: 314, height:187, marginRight: 10, backgroundColor: 'red'}} />
      </ScrollView>
   </View>
</View>

Странно, что я не могу воспроизвести при создании нового проекта.Новый проект с этим фрагментом кода работает.Разница между моим текущим проектом, который не работает, и новым проектом - некоторые библиотеки, такие как camera, axios, ...

1 Ответ

0 голосов
/ 14 июня 2019

Возможно, проблема в том, что есть другие сенсорные , которые крадут у пользователя событие касания , поэтому вы не можете прокручивать ScrollView.Я полагаю, вам просто нужно добавить onStartShouldSetResponder={() => true} к представлению, которое оборачивает предполагаемый ScrollView.Пожалуйста, попробуйте следующий код:

   <View onStartShouldSetResponder={() => true}>
      <ScrollView >
        <View style={{width: 314, height:187, marginRight: 10, backgroundColor: 'red'}} />
        <View style={{width: 314, height:187, marginRight: 10, backgroundColor: 'red'}} />
        <View style={{width: 314, height:187, marginRight: 10, backgroundColor: 'red'}} />
        <View style={{width: 314, height:187, marginRight: 10, backgroundColor: 'red'}} />
        <View style={{width: 314, height:187, marginRight: 10, backgroundColor: 'red'}} />
      </ScrollView>
   </View>

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...