问题
1、初始化时eui.list绑定itemRendererSkinName皮肤,该item皮肤有不同的状态,不同状态下的高度是不一的,比如差个100像素。当使用代码控制滚动条滚动到底部时,并没有滚动到底部。 代码:延迟打印出viewport.contentHeight是不正确,但是在egret inspector看到的contentHeight与打印出的不一致,应该是正常的。 this.commonScroller.viewport.scrollV = this.commonScroller.viewport.contentHeight - this.commonScroller.height;
2、新增item时 当代码设置eui.list添加一个新的item时,addItem();然后延迟时间手动滚动到最后也是不行,会出现滚动的像素很少的情况(应该是该item的那个高度最低的状态皮肤)。总的就是滚动的像素不是新增加的那个item的当前状态下的高度。
3、当该滚动条参差不齐的item的不同状态时(高度不一),当手动触摸下拉上啦滚动的时候,会出现滚动的视图不平滑的情况,突然间一跳一跳的,视图会出现滚动误差 请问:该如何解决?
解决方式
scrollV不准确是因为每个ItemRender高度不一致,这时候关闭虚拟布局就可以了 一跳一跳的是因为拖动过程触发了ItemRender的点击,ItemRender想切换为up状态,但是states中只有text和image状态,找不到up状态就默认切换text状态了。所以有的image状态变成text状态,表现上就像是一跳一跳了。你这样用state是不对的,ItemRenderer的state只能是up down这些的 ...