代码请看上面的代码片段链接
运行环境:开发工具iphone6 375x667 下面的内容量有点大,请耐心看。因为这是我找了整整3天的成果,但是找不到解决的方法。
主要困扰:滚动scroll-view 在scroll方法里设置height属性后,还会在自己触发一次scroll方法
点击一次“click滚动59px”,进行scroll-view的scroll函数,
控制台打印
此处可以看出,scroll函数运行了两次。
如果把line:175注释调,即不设置scroll-view的height属性,scroll方法就会运行一次。
为什么在“click滚动59px”方法中设置scroll-view的scrollTop属性为59px?
因为这边有一个临界值56px。当scrollTop>56px时,scroll方法就会运行2次,所有测试时设置59px.
关于56px的推测。
scrollView 共有5个item,每个高度113,所以 scrollView需要显示的内容有565px,当第一次运行scroll方法后,scrollView的height属性被设为509px,而565减去509正好等于56px。
当scrollView的height属性被设为固定值546px后(范围在期间[546,565)内),点击“click滚动59px”,scroll方法就会被重复调用。
如果把baseLine设为10,重复跳动的期间在[556,565)
baseLine设为5,重复跳动的期间在[561,565)
以上区间可能不全
感觉主要问题还是设置height后,scroll还有自行触发一次