0

我正在尝试为我的 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

这一切都在推动方向上正常工作,但我如何获得相同的解雇效果?对于一个非常简单的过渡来说,这一切似乎都有些困难。我再次觉得我错过了一些东西......任何帮助都会很棒。

4

0 回答 0