原因:
在容器类的UIViewController(如,UINavigationController, UITabBarController)中动画没做完,然后又开始新的动画弹出新页面。
解决办法:
先开始的动画结束之后再开始后来的弹出新页面的动画。
可以参考别人的解决方式:
加一个BOOL型的变量,检查是否在做动画。
if (transiting) { return; } transiting = YES; [self transitionFromViewController:_currentVC toViewController:newVC duration:0.5 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{ } completion:^(BOOL finished) { transiting = NO; }];
参考链接:
unbalanced calls to begin/end appearance transitions for uiviewcontroller的解决方法