我正在尝试在TouchableOpacity组件中设置一个水平ScrollView (出于必要的原因)。但是,TouchableOpacity会覆盖任何水平滚动功能,并执行onPress,即使是水平触摸移动也是如此。
有没有办法让ScrollView的触摸事件优先于父Touchable?这样用户就可以滚动组件并按下它。下面是与我正在尝试实现的代码片段类似的代码片段。
<TouchableOpacity
onPress={this._onPress}>
<View>
... Some view I want static ...
</View>
<ScrollView
horizontal={true}>
... A bunch of components I want scrollable ...
</ScrollView>
</TouchableOpacity>谢谢!
发布于 2021-09-22 05:33:09
你可以试试这个。我试过你的代码,它对我很有效。
<TouchableOpacity>
<View>
<Text>... Some view I want static ...</Text>
</View>
<ScrollView horizontal>
<View onStartShouldSetResponder={() => true}>
<Text>... A bunch of components I want scrollable ...</Text>
</View>
</ScrollView>
</TouchableOpacity>发布于 2018-12-02 11:10:49
@Henning Hall在这里有正确的答案,但是如果失败了,你可以在任何一个组件上实现一个PanResponder来获得你需要的触摸事件。
https://stackoverflow.com/questions/43025666
复制相似问题