Myr*_*law 4 cocoa-touch objective-c
考虑:
[self.navigationController popToViewController:[[self.navigationController viewControllers]objectAtIndex:1] animated:YES];
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来获取视图控制器的索引?这样,如果我对导航堆栈执行某些操作,我就不必返回并编辑它.我想的可能是将它存储在VC上的ivar中或使用#define宏.有任何想法吗?
编辑: 堆栈有四个视图控制器.我用这个代码从第四个到第二个弹出.
YourViewController *yourViewController;
for ( UIViewController *viewController in self.navigationController.viewControllers ) {
if ( [viewController isMemberOfClass:[YourViewController class]] ) {
yourViewController = (YourViewController*)viewController;
break;
}
}
[self popToViewController:yourViewController animated:YES];
Run Code Online (Sandbox Code Playgroud)
当然,这假设堆栈只有一个您正在寻找的控制器类的实例.如果有更多,我认为您可以选择将其存储在全局可访问的位置,如应用程序委托.
注意 - 通常如果您在UIViewController中使用它,那么最后一行代码将是:
[self.navigationController popToViewController:seuleMainPage animated:YES];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3452 次 |
| 最近记录: |