dismissModalViewController过渡:从左到右 [英] dismissModalViewController with transition: left to right
问题描述
我是用一个很好的方法来打发我的模态视图控制器:
I was using a nice method to dismiss my modal view controller:
[self dismissModalViewControllerWithTransition:2];
,这使得滑动过渡从左到右,如导航控制器执行弹出的图。
which makes a slide transition from left to right, like a navigation controller does to pop a view.
由于这种方法是一种非公开的方式,苹果是不会接受的。如何我在code这种动画编程(滑动由左到右,解雇模态视图,右滑动至左侧,以present模态的视图)?
As this method is a non-public method, apple will not accept it. How can I program this kind of animation in my code (slide from left to right, to dismiss a modal view, and slide from right to left to present a modal view) ?
在此先感谢
推荐答案
我已经接受了来自Safecase的答案,但我想在这里发布我的最终解决方案:
I have accepted the answer from Safecase, but I would like to publish my final solution here:
1)present一个从右到左的过渡我写了下面的方法一个模式视图控制器:
1) To present a modal view controller with a from right to left transition I have written following method:
-(void) presentModalView:(UIViewController *)controller {
CATransition *transition = [CATransition animation];
transition.duration = 0.35;
transition.timingFunction =
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromRight;
// NSLog(@"%s: self.view.window=%@", _func_, self.view.window);
UIView *containerView = self.view.window;
[containerView.layer addAnimation:transition forKey:nil];
[self presentModalViewController:controller animated:NO];
}
2)驳回与幻灯片过渡模态的视图从左到右:
2) To dismiss a modal view with an slide transition left to right:
-(void) dismissMe {
CATransition *transition = [CATransition animation];
transition.duration = 0.35;
transition.timingFunction =
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromLeft;
// NSLog(@"%s: controller.view.window=%@", _func_, controller.view.window);
UIView *containerView = self.view.window;
[containerView.layer addAnimation:transition forKey:nil];
[self dismissModalViewControllerAnimated:NO];
}
谢谢你们!
这篇关于dismissModalViewController过渡:从左到右的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!