如何知道当前视图控制器是在导航堆栈上,而不是根目录

时间:2013-06-28 00:50:46

标签: ios uinavigationcontroller

目前我正在使用以下代码来确定视图控制器是否在导航堆栈中,并且它不是堆栈中的根控制器。

self.navigationController.viewControllers.count > 1

有没有更好的解决方案?

2 个答案:

答案 0 :(得分:3)

如果你将你描述的内容直接转换为代码,它就会是这样的。

NSUInteger index = [self.navigationController.viewControllers indexOfObject:self];
BOOL b = index != NSNotFound && index != 0;

UINavigationController不在堆栈顶部时,您编写的代码可能无效。

答案 1 :(得分:1)

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:([self.navigationController.viewControllers count] -2)] animated:YES];