iOS UIPageViewController翻页总是重复第二页系统bug处理

释放双眼,带上耳机,听听看~!

表示有点儿无语了,以为是自己写的逻辑有问题,调了一个多小时,实际有点儿没有头绪了,于是google一下,发现竟然是iOS本身的一个小Bug,苦逼的码农真心伤不起啊。

问题描述:

iOS6使用UIPageViewController通过UIPageViewControllerNavigationDirectionReverse向回跳转翻页时,总会出现下一页不对的情况,因为下一页就是跳转以前的页面所以给你的感觉就是好像上一页被缓存成下一页了。这种情况大多发生在跳转的时候,使用了动画并且切换方式是UIPageViewControllerTransitionStyleScroll.

解决办法1:

__block YourSelfClass *blocksafeSelf = self;
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:^(BOOL finished){
if(finished)
{
dispatch_async(dispatch_get_main_queue(), ^{
[blocksafeSelf.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:NULL];// bug fix for uipageview controller
});
}
}];

解决办法2(我用这种):

另外为了避免这种情况发生,也可以:
1.不使用UIPageViewControllerTransitionStyleScroll方式
2.切换时animated:NO

人已赞赏
iOS文章

iOS Label大小不变内容可适应变化(字体大小变化)

2019-10-10 11:57:30

iOS文章

iOS应用架构谈 网络层设计方案

2019-10-10 14:07:39

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索