收藏
回答

scrollview的onScroll回调周期长,导致记录的数据和实际位置不符

API/组件名称 终端类型 微信版本 基础库版本
scroll-view 客户端 6.6.0 1.7.2

场景:需要做一个类似裁剪图片的功能,通过一个尺寸较小的scroll-view里放置一个尺寸较大的image组件(图片的短边完全显示,长边可滑动),来达到裁剪图片的目的(只记录数据,真正裁剪另说)。我的实现是在bindscroll里记录scrollTop和scrollLeft的值。


问题:比如scrollview是200x200,imageview是200x300,我滑动到底部,通过bindscroll回调拿到的scrollTop应该是100,但是时常得到低于100的值。我猜问题出在我滑到底部并停止滑动的时刻出现在了两个bindscroll回调的中间,我记录的是上次滑动的数据,但是当前视图已经发生了改变,而我没办法获取当前的数据了。


需求:是不是能主动获取当前的滑动距离而不是在onScroll的回调里获取,或者有没有一个滑动结束的回调(这里返回的数据应该是最终停止后scrollview的数据了)?


注:微信版本和基础库版本随手写的,应该到最新版本都没看到有类似的方法。

回答关注问题邀请回答
收藏
登录 后发表内容