5

我的故事板中有一个 UINavigationController 设置,并且我制作了一个自定义 segue 类,您可以在下面看到它在我的视图之间很好地淡入淡出(而不是沼泽标准推送)。

但是,当我点击导航控制器给我的那个返回按钮时,我得到了一个我不想要的推送动画,我想使用那个淡入淡出!我也不想让我的故事板中的segues双向进行,因为它会变得混乱。

自定义淡入淡出:

-(void)perform
{
    __block UIViewController *sourceViewController = (UIViewController*)[self sourceViewController];
    __block UIViewController *destinationController = (UIViewController*)[self destinationViewController];

    [UIView transitionWithView:sourceViewController.navigationController.view duration:1.0 options:UIViewAnimationOptionTransitionCrossDissolve
                    animations:^
                    {
                        [sourceViewController.navigationController pushViewController:destinationController animated:NO];
                    }
                    completion:^(BOOL finished)
                    {
                        NSLog(@"Transition Completed");
                    }];
}

编辑

也许我应该简化。如何在 UINavigationController 中的两个视图控制器之间进行交叉溶解淡入淡出,它推送和弹出视图而不是标准的左右侧边动画?

4

1 回答 1

0

如果您正在为 iOS 7 构建,您可以使用 UINavigationControllerDelegate 和新的视图控制器转换 api。

这是一个指南: http: //www.captechconsulting.com/blog/tyler-tillage/ios-7-tutorial-series-custom-navigation-transitions-more

于 2013-11-07T21:36:03.533 回答