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;
}