如何在故事板,自定义segue中实现popover控制器

时间:2014-05-31 05:05:50

标签: ios xcode uistoryboard uipopover

这是mouli,我实现了一个自定义segue,用于从第一视图到第二视图推送(带动画),它的工作正常。但我没有从第二次观看回到第一次使用相同的动画。这里显示的第一个屏幕没有动画。请给出一些建议。提前致谢。以下是我从第一个到第二个推送的代码。

    UIViewController *sourceViewController = [UIApplication sharedApplication].delegate.window.rootViewController;
    NSLog(@"%@",sourceViewController);

    sourceViewController.modalPresentationStyle = UIModalPresentationCurrentContext;
    UIViewController *destinationController = (UIViewController*)[self destinationViewController];
    NSLog(@"%@",destinationController);

    CATransition* transition = [CATransition animation];
    transition.duration = 0.6;
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    transition.type = kCATransitionPush; //kCATransitionMoveIn; //, kCATransitionPush, kCATransitionReveal, kCATransitionFade
    transition.subtype = kCATransitionFromRight; //kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom

    [destinationController.view.layer addAnimation:transition forKey:kCATransition];
    [sourceViewController presentViewController:destinationController animated:NO completion:nil];

1 个答案:

答案 0 :(得分:0)

以相反的方式解雇,因为你正在做一个自定义动画,而不是提供的动画,它不记得演示的动画。因此,当您解雇时,您也需要应用相反的自定义动画。

我建议您为动画创建一个类别,并在整个项目中轻松使用它们。