Ios 自定义推送动画代理默认交互式pop动画

Ios 自定义推送动画代理默认交互式pop动画,ios,objective-c,Ios,Objective C,在导航控制器代理中,我有以下代码: - (id <UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController animationControllerForOperation:(UINavigationControllerOperation)operation

在导航控制器代理中,我有以下代码:

- (id <UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController
                                   animationControllerForOperation:(UINavigationControllerOperation)operation
                                                fromViewController:(UIViewController *)fromVC
                                                  toViewController:(UIViewController *)toVC {
    if ([toVC isKindOfClass:[ParentViewController class]]) {
        if (operation == UINavigationControllerOperationPush) {
            return [(ParentViewController *)toVC pushAnimator];
        }
    }
    return nil;
}
-(id)导航控制器:(UINavigationController*)导航控制器
AnimationControllerOperation:(UINavigationControllerOperation)操作
fromViewController:(UIViewController*)fromVC
toViewController:(UIViewController*)toVC{
if([toVC isKindOfClass:[ParentViewController类]]){
if(操作==UINavigationControllerOperationPush){
返回[(ParentViewController*)到VC pushAnimator];
}
}
返回零;
}
Push animator的实现方式如下(某些视图控制器会覆盖它以实现自定义转换):

-(id)动画制作者{
返回零;
}
但在这个默认的交互式pop动画被破坏之后(但根据文档,如果这个方法返回nil,则将使用默认动画),即使我没有为选定的视图控制器使用自定义转换


我如何在某些屏幕上使用自定义推送动画的交互式弹出手势?

只需在view controller(或任何实际操作)上实现
UIgestureRecognitizerDelegate
,然后

navigationController?.InteractiveProgTestureRecognizer?.delegate=self
看起来你甚至不需要实现任何东西,但是你可能想尝试类似的东西

func gesturecognizer应该开始(\ugesturecognizer:uigesturecognizer)->Bool{
返回navigationController?.ViewController.count??0>1
}

您解决了这个问题吗?我也有同样的问题
- (id<UIViewControllerAnimatedTransitioning>)pushAnimator {
    return nil;
}