iOS 7 popViewController Bug解决

虽然iOS 7已经是古董级别的系统了,很多公司要求都从iOS 8开始支持,甚至连Apple最新发布的Xcode 8都已经不支持运行iOS 7的手机真机调试。但还是有些令人蛋疼菊紧的公司非要支持iOS 7甚至iOS 6以下。

今天在工作中就发现了这样一个偶发性Bug,频率还挺高。其实这个Bug以前也碰到过,但是以前没有注意,只是解决了这个问题。。问题是这样的,在iOS 8- (iOS 8以下)的系统中,发现这样一个问题,rootViewController是一个带导航栏的tabBarController,并且其中有一个A childViewController,我们从A childViewController push到B viewController,再从B viewController push到C viewController,也许因为某种原因,我们push进去之后,需要马上pop出来,那么问题就来了,见如下图:
Bug展示
从图上可以看到,当我点击『开始挑战』的时候,push进了C viewController,按意愿,应该是立即从C viewController返回到B viewController,但是结果却是并没有返回,而是留在这个空白的页面,我点击后退的时候,却回到了tabBarViewController,其实这个问题,我到现在也不明白是怎么回事,也许是因为pop过快的原因吧,其实解决方法也很简单,
给popViewController加一个延迟,可以使用dispatch_after,设置一个延时。。
解决问题的图如下所示:

问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值