iOS7 nested push animation can result in corrupted

在iOS7中,开启push/pop view controller 动画遇到一个问题,就是在快速切换多次后会在console出现一个问题

nested push animation can result in corrupted navigation bar multiple warning

Unbalanced calls to begin/end appearance transitions for


查了一些资料后,找到了一个方法:

0)找到push/pop view controller 动画结束的回调。

UINavigationControllerDelegate代理中的

-(void)navigationController:(UINavigationController *)navigationController
      didShowViewController:(UIViewController *)viewController
                   animated:(BOOL)animated

1)找到是否接受点击方法的方法。

UIGestureRecognizerDelegate中的

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch


应用以上两个代理方法,加上一个BOOL的flag值,可以控制是否处罚pop/push

当动画完成时,将flag设置为允许pop/push, shouldReceiveTouch直接返回flag值。

在点击事件时,要注意更改flag值不再接受其他事件,防止在flag为YES时的多次点击。


参考链接:

http://stackoverflow.com/questions/11813091/nested-push-animation-can-result-in-corrupted-navigation-bar-multiple-warning

http://www.taofengping.com/2013/12/26/ios7_barbuttonitem_navigation_gesture/

http://blog.csdn.net/lengshengren/article/details/12616217

http://stackoverflow.com/questions/10150231/how-to-detect-when-uinavigationcontroller-animation-has-finished


转载于:https://my.oschina.net/u/566401/blog/201150

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值