考虑:
[self.navigationController popToViewController:[[self.navigationController viewControllers]objectAtIndex:1] animated:YES];
有没有更好的方法来获取要弹出的视图控制器的索引?这样,如果我对导航堆栈执行某些操作,我就不必返回并进行编辑。我正在考虑将其存储在 VC 上的 ivar 中或使用 #define 宏。有任何想法吗?
Edit:该堆栈有四个视图控制器。我用这段代码从第四个弹出到第二个。
YourViewController *yourViewController;
for ( UIViewController *viewController in self.navigationController.viewControllers ) {
if ( [viewController isMemberOfClass:[YourViewController class]] ) {
yourViewController = (YourViewController*)viewController;
break;
}
}
[self popToViewController:yourViewController animated:YES];
当然,这是假设堆栈只有一个您正在寻找的控制器类的实例。如果还有更多,我认为您可以选择将其存储在全局可访问的位置,例如应用程序委托。
注意 - 通常如果您在 UIViewController 中使用它,最后一行代码将是:
[self.navigationController popToViewController:seuleMainPage animated:YES];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)