scrollview加定时器bug反馈1.7

反馈 Bug 时请提供

  • Creator 版本:1.7
  • 目标平台:Web
    必现,我在一个场景下定义了两个ScrollView,第二个隐藏,在第一个ScrollView的content里面加了一个Button
    ,第二个scrollview里面content加一个图片,同时将这个content添加一个layout,模式选择container模式,content坐标居中,点击button隐藏第一个Scrollview,显示第二个ScrollView,,同时图片正中间显示,正常执行没有任何问题
    如果我在第一个scrollview的button响应事件里面,添加一个scheduleonce定时器,定时1秒以后再执行隐藏和显示的操作,第二个scrollview里的图片就会跑到最左边
    我写了一个demo,
    NewProject.zip (520.3 KB)

那你提供啊

论坛不能上传

你把文件拖到编辑框就行了

嗯,应该是 scheduleonce 导致 widget 的布局失效跟 Scrollview 无关 ,但是还需要在查一下原因。

解决方案你可以把第二个 ScrollView 的 Content 身上 widget 组件不要勾选 AlignOnce ,这样就没问题了

这里主要的原因是应该 scheduleonce 需要在下一帧执行才对,因为跳过了 start 阶段了,导致先执行了 widget 的布局,scrollView 里面的 start 在一次进行布局,导致之前 widget 的布局无效了,已经建 issue 记录了,后面会改进

可能我之前还遇到过的一个定时器问题也跟这个有关系,也是1.7版本,大概做法是我连续设置了好几个once定时器,然后在最后一个定时器没超时之前调用了取消所有定时器接口,紧接着立刻又起了一个once定时器,这个定时器不生效,我现在的解决方案是,在取消所有定时器以后,先放一个空的定时器,在放我要执行的定时器,这样就可以执行了

好的,感谢反馈,已经有 issue 了,后面会进行调整修复

谢谢反馈,该问题会在 2.2.1 进行改进。