【发布时间】:2014-08-24 21:33:37
【问题描述】:
我想为UITabBarController 的选项卡之间的过渡设置动画。出于某种原因,UIViewControllerAnimatedTransitioning 协议中的这个方法被调用了两次:
- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext
堆栈跟踪:
紧接着:
- (void)animationEnded:(BOOL)transitionCompleted 方法也被调用了两次。
我不知道为什么。
这是代码:
- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext {
UIView *containerView = [transitionContext containerView];
UIViewController *fromVC = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIViewController *toVC = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
[toVC.view setTransform:CGAffineTransformMakeTranslation(320, 0)];
[containerView addSubview:toVC.view];
[UIView animateWithDuration:0.5 animations:^{
[toVC.view setTransform:CGAffineTransformIdentity];
[fromVC.view setTransform:CGAffineTransformMakeTranslation(-320, 0)];
} completion:^(BOOL finished) {
[fromVC.view setTransform:CGAffineTransformIdentity];
[toVC.view setTransform:CGAffineTransformIdentity];
[transitionContext completeTransition:YES];
}];
}
【问题讨论】:
-
如何开始过渡?赛格?调用方法?
标签: ios ios7 uitabbarcontroller transitions