我的故事板上必须有 4 个场景,一切都很好,但现在我有一个带有垂直过渡覆盖的模态样式。我想要有模态风格,但有一个水平的封面过渡。
我使用圆形矩形按钮从一个场景切换到另一个场景,因为我的场景没有导航栏(因为我不需要它)。
我找到了一个教程,并创建了一个新类来覆盖 perform 方法。
这是我使用 perfom 方法的实现文件。
#import "JHCustomSegue.h"
#import "QuartzCore/QuartzCore.h"
@implementation JHCustomSegue
- (void) perform {
UIViewController *sourceViewController = (UIViewController*)[self sourceViewController];
UIViewController *destinationController = (UIViewController*)[self destinationViewController];
CATransition* transition = [CATransition animation];
transition.duration = .25;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush; //kCATransitionMoveIn; //, kCATransitionPush, kCATransitionReveal, kCATransitionFade
transition.subtype = kCATransitionFromRight; //kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom
[sourceViewController.navigationController.view.layer addAnimation:transition
forKey:kCATransition];
[sourceViewController.navigationController pushViewController:destinationController animated:NO];
}
@end
但是过渡不起作用我可以机会到我的任何场景,我总是停留在第一个屏幕上。
我做错了什么,因为该示例运行良好,但他们使用导航栏。
在此先感谢您的帮助。