有没有人有任何想法,这不再是iOS8中的自定义翻转动画,而是在iOS7中。
在iOS8中,我只是看到没有动画的视图,但是当视图被取消时 我确实得到了自定义翻转过渡。它就像忘记动画一样,但是当它被解雇时它会记得。
任何帮助都会受到赞赏,这让我疯狂。
- (void) animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext {
UIView *containerView = [transitionContext containerView];
UIViewController *fromVC = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
[containerView addSubview:fromVC.view];
UIViewController *toVC = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
[containerView addSubview:toVC.view];
UIViewAnimationOptions animationOption = ([toVC.presentedViewController isEqual:fromVC])?UIViewAnimationOptionTransitionFlipFromLeft:UIViewAnimationOptionTransitionFlipFromRight;
if ([toVC class] == [ClockViewController class]) {
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
}
[UIView transitionFromView:fromVC.view
toView:toVC.view
duration:0.7f
options:animationOption
completion:^(BOOL finished){
[transitionContext completeTransition:YES];
}];
}
答案 0 :(得分:0)
如果有人遇到同样的问题,请找出解决我问题的方法。
添加了[CATransaction commit];在过渡之前,它现在有效。
(void)animateTransition:(id)transitionContext {
UIView * containerView = [transitionContext containerView];
UIViewController * fromVC = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]; [containerView addSubview:fromVC.view];
UIViewController * toVC = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]; [containerView addSubview:toVC.view];
UIViewAnimationOptions animationOption =([toVC.presentedViewController isEqual:fromVC])?UIViewAnimationOptionTransitionFlipFromLeft:UIViewAnimationOptionTransitionFlipFromRight;
[CATransaction commit];
[UIView transitionFromView:fromVC.view toView:toVC.view 持续时间:0.7F 选项:animationOption 完成:^(BOOL完成){ [transitionContext completeTransition:YES]; }];
}