Ios 执行不同的自定义序列
我有多个视图控制器,当我转换到某些视图控制器时,我想执行不同的自定义序列 我已经为不同的自定义segue正确地编写了代码,并将相应的segue设置为该类 我的问题是,当我从ViewControllerA转换到ViewControllerB时,我希望它执行CustomSegueA&它会执行。当我从ViewControllerB转换到ViewControllerC时,我希望它执行CustomSegueB,但它执行CustomSegueA。事实上,每个后续转换都将执行CustomSegueA。如果我将转换从ViewControllerA更改为ViewControllerB到CustomSegueB,则每个后续转换将使用CustomSegueBIos 执行不同的自定义序列,ios,objective-c,xcode,segue,uistoryboardsegue,Ios,Objective C,Xcode,Segue,Uistoryboardsegue,我有多个视图控制器,当我转换到某些视图控制器时,我想执行不同的自定义序列 我已经为不同的自定义segue正确地编写了代码,并将相应的segue设置为该类 我的问题是,当我从ViewControllerA转换到ViewControllerB时,我希望它执行CustomSegueA&它会执行。当我从ViewControllerB转换到ViewControllerC时,我希望它执行CustomSegueB,但它执行CustomSegueA。事实上,每个后续转换都将执行CustomSegueA。如果我将
有什么建议吗?问题出在我制作的动画的自定义序列代码中
- (void) perform {
UIViewController *sourceVC = (UIViewController *) self.sourceViewController;
UIViewController *destinationVC = (UIViewController *) self.destinationViewController;
[UIView transitionWithView:sourceVC.view duration:5.0
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[sourceVC.navigationController pushViewController:destinationVC animated:NO];
}
completion:NULL];
}
在
[UIView transitionWithView:sourceVC.view duration:5.0
我把它改成了
[UIView transitionWithView:sourceVC.navigationController.view duration:5.0
我不知道为什么会有这样的差异,我之所以能够弄明白,唯一的原因是通过查看一些我在工作时做过的旧项目你是如何激活Segues的?您是在代码中调用它们还是在IB中连接它们?当调用某个方法时,通过编程调用segue。不是IB。。但是我发现了问题!动画代码中的自定义segue代码有问题