我使用来自react-native-snap-carousel模块的carousel从远程urls水平滚动图像。它在安卓系统中运行良好,但在iOS系统中,有时图像会被滚动,但大多数情况下不会。
它正在检测我的滑动动作,但图像没有滚动。
我尝试过iOS 13.1.3,react-native 0.59.8,react-native-snap-carousel 3.8.2
以下代码用于Carousel
<Carousel
borderTopRightRadius={2}
borderTopLeftRadius={2}
ref={c => (this._ref = c)}
data={images}
renderItem={item => this.renderItem(item)}
onSnapToItem={index => {
this.setState({ currentImage: index });
onSliderMove(index);
}}
layout={"default"}
sliderWidth={parentWidth || width}
itemWidth={parentWidth || width}
loop={circleLoop || false}
contentContainerCustomStyle={{}}
scrollEnabled={scrollable}
onStartShouldSetResponderCapture={() => {
return scrollable;
}}
onMoveShouldSetResponderCapture={() => {
return scrollable;
}}
layoutCardOffset={20}
/>我正在使用一个自定义组件来加载图像。
renderItem = ({ item, index }) => {
return (
<View style={{ width, height }}>
<LoadableImage
url={item}
index={index}
/>
</View>
)
}预期结果:水平滚动应该可以在iOS上流畅地工作。实际结果:水平滚动在大多数情况下不起作用。
帮我解决这个问题
发布于 2021-07-22 16:12:27
我在使用这个旋转木马时也遇到了一个问题。我查看了这个库,并尝试了以下属性。你可以在添加给定的属性后尝试,它们会使滚动变得平滑。使用下面的属性后,我没有遇到任何问题。
尝试最后两个属性。
<Carousel
ref={isCarousel}
data={options}
renderItem={renderItem}
sliderWidth={SLIDER_WIDTH}
itemWidth={itemWidth || ITEM_WIDTH}
useScrollView
activeSlideAlignment="start"
inactiveSlideScale={1}
inactiveSlideOpacity={1}
onSnapToItem={(index) => {console.log(index); setIndex(index)}}
*enableMomentum={true}
decelerationRate={0.9}*
/>https://stackoverflow.com/questions/58486606
复制相似问题