我有一个UINavigationController
,带有以下视图控制器
A->B(B在顶部)
现在对于B中的一些操作,我想用C替换B(最后应该是A->C)。
我尝试了以下操作:当操作在B中发生时,我执行[self.navigationController popViewControllerAnimated:NO];
。在A的viewWillAppear
功能中,我检查是否需要立即按下C并执行此操作
问题是,当C被推动时,过渡动画是一个弹出动画(从右向左滑动),而不是推动
看起来应用的动画与早期的流行音乐混淆了。
我该如何解决这个问题?
我试着在上面的[self.navigationController popViewControllerAnimated:NO];
中通过YES,但这并没有解决问题,
这应该有效:
NSMutableArray *vcs = [[self.navigationController viewControllers] mutableCopy];
NSUInteger lastVcIndex = [vcs count] - 1;
if (lastVcIndex > 0) {
[vcs replaceObjectAtIndex:lastVcIndex withObject:viewControllerC];
[self.navigationController setViewControllers:vcs animated:YES];
}