解决了UIPageView的一个错误,会产生偏移和滚动的一系列问题。

UIPageView里面的两个函数:

void PageView::removePage(Layout* page)
{
if (!page)
{
return;
}
removeChild(page);
updateChildrenPosition();
updateBoundaryPages();
}

void PageView::removeAllPages()
{
removeAllChildren();
}

为什么removeAllPages()不调用

updateChildrenPosition();
updateBoundaryPages();

是忘了吧,这样的错误貌似不应该吧。

这样removeallpages之后pageview重新addpage,就会产生一系列问题

这个bug 是2.x的还是3.x的?

我测试3.x没有问题哦。

你这是什么版本的?

3.x

这个问题只会在同一个pageview分别显示一组page,并且切换时出现,切换时我调用了removeallpages.

貌似你是内部人士?

1.调用addpage插入若干页
2.scrolltopage
3.removeallpage,清楚老的页面
4.addpage插入新的一组页

就会偏移

_curPageIdx在updateChildrenPosition里面重置的,但是removeallpage没有调用。

于是第二次addpage时调用getPositionXByIndex就不对了。

感谢,我验证一下。(对,我是内部人士。。。)

3.2这个bug应该是修复了,请您 用3.2试一下看看。

请问楼主这个问题怎么解决啊。。。肯定不能换coco版本啊