我正在尝试为我的 Storyboard 的 UIViewControllers 实现“水平覆盖”过渡。一个简单的从右到左再向后滑动。首先,我很惊讶这不是 Interface Builder 中的选项。不是每个人都需要这个还是我错过了什么?我创建了一个 Custom-Segue 并添加了一个滑动过渡。
#import "SlideLeftCustomSegue.h"
@implementation SlideLeftCustomSegue
- (void)perform{
UIViewController *srcViewController = (UIViewController *) self.sourceViewController;
UIViewController *destViewController = (UIViewController *) self.destinationViewController;
CATransition *transition = [CATransition animation];
transition.duration = 0.3;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromRight;
[srcViewController.view.window.layer addAnimation:transition forKey:nil];
[srcViewController presentViewController:destViewController animated:NO completion:nil];
}
@end
这一切都在推动方向上正常工作,但我如何获得相同的解雇效果?对于一个非常简单的过渡来说,这一切似乎都有些困难。我再次觉得我错过了一些东西......任何帮助都会很棒。