UIPageView 动态加载

UIPageView如果一次性把所有的page加载进来的话太吃内存,所以我就想把写成动态加载的方式。说下我的思路和我的问题:

如果当前显示的是第一个的话就预加载后面一个page,就是说此时UIPageView里有两个page;如果当前显示的是最后一个page,同理就预加载前面一个page;
如果是在中间的话就要前后各预加载一个,此时UIPageView里有三个page;如果我向左滑动时就向0的位置插一个,再删掉最后一个,向右同理反之。首页和末页要特殊处理下。
功能是实现了,但是遇到一个小问题。就是当我向左滑动的时候,此时我要显示的就是0位置的page,但是我又在0的位置要预加载一个page。滑动之后显示的就变成我刚插入的那一个page,所以我就用
pageView->scrollToPage(index)方法向后跳一页,回到我要显示的page(此时滑动的方向是向右)。但是这就会有跳动,先向左又往右滑。怎么改?我看了下没有jumpto的方法。我用的是cocos2d-x 2.2.1版本

已解决,但是我想不通是为啥。pageView->scrollToPage(中间page的Index)方法向后跳一页 我把换成pageView->onTouchMoved(pageView->getPage(0)->getPosition());就可以了。想不通是为什么

参看pageview教程

CocoStudio sample讲解SampleImageViewer 图片查看器
http://www.cocoachina.com/bbs/read.php?tid=192658

你让我看的东西跟我的问题好像没太大关系

其实我一直没搞懂你的需求。不知道你卡在哪了。

这个问题没解决彻底,还是有问题。我说的问题呢没看懂吗
?我不是动态加载page页嘛,就是我pageView向左边滑的时候就要动态的在0的位置加一个page页啊,移除掉最后一个页。这样不是就保证我的page里一直都最多有三个page页嘛。

比如我现在pageview里有三页B,C,D.显示的是C现在我要向左滑动。我就要先删掉D,然后再B的前面加一个A。这是pageview应该还是三页A,B,C.到这里都没错。问题是此时应该显示的B.但是此时显示的却是A。我觉得出现这个问题是因为原来B在pageview中的位置是0,所以当我由C滑到B的时候其实是要跳到0,但是因为我人为的在B的前面加了一页,这是B的位置其实已经变成一了。0的位置是A.

我觉得,LZ你只需要动态加载一次就行了,不用每次移除,就是初始化加载第一页和第二页,每次到最后一页就判断一次,有就继续加载,没的就不用加载了,然后已经实例化的就不要去删除了。这样做的话界面体验感要好些