scrollView动态设置height属性后还有再自己触发scroll方法
发布于 6 年前 作者 daixia 14419 次浏览 来自 官方Issues

代码请看上面的代码片段链接

运行环境:开发工具iphone6 375x667  下面的内容量有点大,请耐心看。因为这是我找了整整3天的成果,但是找不到解决的方法。

主要困扰:滚动scroll-view 在scroll方法里设置height属性后,还会在自己触发一次scroll方法

点击一次click滚动59px,进行scroll-viewscroll函数,

控制台打印


 

此处可以看出,scroll函数运行了两次。

如果把line:175注释调,即不设置scroll-viewheight属性,scroll方法就会运行一次。

 

为什么在click滚动59px”方法中设置scroll-viewscrollTop属性为59px

因为这边有一个临界值56px。当scrollTop>56px时,scroll方法就会运行2次,所有测试时设置59px.

 

关于56px的推测。

scrollView 共有5item,每个高度113,所以 scrollView需要显示的内容有565px,当第一次运行scroll方法后,scrollViewheight属性被设为509px,565减去509正好等于56px

 

scrollViewheight属性被设为固定值546px后(范围在期间[546,565)内),点击“click滚动59px”,scroll方法就会被重复调用。

如果把baseLine设为10,重复跳动的期间在[556,565)

baseLine设为5,重复跳动的期间在[561,565)

以上区间可能不全

感觉主要问题还是设置height后,scroll还有自行触发一次

 

回到顶部