0

我的故事板上必须有 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 

但是过渡不起作用我可以机会到我的任何场景,我总是停留在第一个屏幕上。

我做错了什么,因为该示例运行良好,但他们使用导航栏。

在此先感谢您的帮助。

4

0 回答 0