navigationController中界面进入时层次关系是 X–>A–>B–>C 返回 时要求 C直接跳转至A
2种解决方案:
1、在C中写个指针,指向A,使用方法popToViewController直接调至A
本人不喜欢指针传来传去,寻求良友找到另一种解决方案
2、在C中,将navigationController的Views队列中的B删除,然后
popViewControllerAnimated,就可以直接返回到A了
代码如下:
1.
NSMutableArray*viewsArray = [NSMutableArrayarrayWithArray:[self.navigationControllerviewControllers]];
2.
[viewsArray removeObjectAtIndex:[viewsArray count]-2];
3.
[self.navigationControllersetViewControllers:[NSArrayarrayWithArray:viewsArray]];
4.
[self.navigationControllerpopViewControllerAnimated:YES];
这种方法,我自己觉得,很简洁 方便,而且有助于我们对于navigationController的机制的理解
3、此外,如果想直接从C–>X,可以直接使用方法
popToRootViewControllerAnimated
大家有其他解决方法,可以共享下~
转载:http://www.comedreams.com/index.php/archives/37483