let onScrollCall = ()=>{
if(check()) return;
let curPageIdx = this.fzPageView.getCurrentPageIndex();
let pages = this.fzPageView.getPages();
if(curPageIdx == pages.length - 1){
let curPage = pages[curPageIdx];
let findPage = pages[0];
this.fzPageView.removePageAtIndex(0);
this.fzPageView.addPage(findPage);
this.fzPageView.scrollToPage(curPageIdx - 1,0)
}else if(curPageIdx == 0){
let curPage = pages[0];
let findPage = pages[pages.length - 1];
this.fzPageView.removePageAtIndex(pages.length - 1);
this.fzPageView.insertPage(findPage,0);
// let n = new cc.Node()
// this.fzPageView.addPage(n);
this.fzPageView.content.getComponent(cc.Layout)._layoutDirty = true;
this.fzPageView._updatePageView();
this.fzPageView.scrollToPage(curPageIdx + 1,0)
// this.fzPageView.removePage(n);
}
}
在将第一页添加到最后时没有什么问题, 移除第一页添加到最后一页即可,但是在将最后一页插入到第一页前时,插入时会有闪烁,断点运行后发现,在_updatePageView方法内,先执行了layout的updateLayout再根据实际x坐标设置了offset,此时插入页x坐标在最后,滑动会刷新坐标导致闪烁,我的解决方法是手动刷新一下,或者插入一个空节点触发pageview的刷新
