我想在presentViewController
期间制作动画:
- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext {
UIViewController *fromVC = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIViewController *toVC = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
UIView *toView = toVC.view;
UIView *fromView = fromVC.view;
UIView* containerView = [transitionContext containerView];
[containerView addSubview:toView];
NSTimeInterval duration = 0.35;
[UIView transitionFromView:fromView toView:toView duration:duration options:(self.reverse?UIViewAnimationOptionTransitionFlipFromLeft:UIViewAnimationOptionTransitionFlipFromRight) |
UIViewAnimationOptionAllowUserInteraction completion:^(BOOL finished) {
[transitionContext completeTransition:![transitionContext transitionWasCancelled]];
}];
}
在iOS 7上运作正常,但在iOS 8上没有动画效果。
[UIView transitionFromView:containerView toView:toView ...
让它工作了,但这不是最好的方法。 - Zacks