这是mouli,我实现了一个自定义segue,用于从第一视图到第二视图推送(带动画),它的工作正常。但我没有从第二次观看回到第一次使用相同的动画。这里显示的第一个屏幕没有动画。请给出一些建议。提前致谢。以下是我从第一个到第二个推送的代码。
UIViewController *sourceViewController = [UIApplication sharedApplication].delegate.window.rootViewController;
NSLog(@"%@",sourceViewController);
sourceViewController.modalPresentationStyle = UIModalPresentationCurrentContext;
UIViewController *destinationController = (UIViewController*)[self destinationViewController];
NSLog(@"%@",destinationController);
CATransition* transition = [CATransition animation];
transition.duration = 0.6;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush; //kCATransitionMoveIn; //, kCATransitionPush, kCATransitionReveal, kCATransitionFade
transition.subtype = kCATransitionFromRight; //kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom
[destinationController.view.layer addAnimation:transition forKey:kCATransition];
[sourceViewController presentViewController:destinationController animated:NO completion:nil];
答案 0 :(得分:0)
以相反的方式解雇,因为你正在做一个自定义动画,而不是提供的动画,它不记得演示的动画。因此,当您解雇时,您也需要应用相反的自定义动画。
我建议您为动画创建一个类别,并在整个项目中轻松使用它们。