我有一个简单的 ScrollView (滚动水平),其中包含一些项目,每个项目都有一个TouchableOpacity。 onPress - 方法只是一个 console.log ,所以我可以看到输出。 到目前为止它的确有效!
但是我已经做了一个 setInterval(),在每个循环上都会产生一个 scrollTo({x:xValue,y:0,animated:false}) ScrollView增加了X值。
这样我就像Newsticker的外观和感觉一样滚动得很好。 但是当它运行时,每个项目的点击停止工作?!
我想它与setInterval(func,time)设置的时间有关,因为当我将它增加到一个很高的值时它会起作用(但是当然滚动不好)。 / p>
所以我尝试使用如下所示的requestAnimationFrame()循环方法,但是当我点击这些项目时仍然没有任何反应:
function loop(func, throttle) {
let running;
let speed = throttle || 0;
function insideLoop() {
if (running !== false) {
requestAnimationFrame(insideLoop);
speed--;
if(speed <= 0){
running = func();
speed = throttle || 0;
}
}
}
insideLoop();
}
任何想法我需要做什么?