Leg*_*las 3 iphone xcode objective-c uinavigationcontroller ios
因此,如果我在屏幕上,我可以使用pushViewController导航到下一个导航屏幕,我只需进入下一个屏幕,使用backButton到上一个屏幕.
是否有上一个屏幕(后退按钮将我们推送到的屏幕)...是否有名称?(像之前的ViewController os那样)?
这个问题背后的目标:
如果我有5个屏幕(分别为1,2,3,4,5)......让我说我从1 - > 3导航,而在另一种情况下我从2 - > 3导航.我想说如果" PreviousViewController是1"然后从3导航到4(1 - > 3 - > 4),否则如果previousViewController是2,我想导航到3到5(2 - > 3 - > 5)...
我该如何完成这样的事情?
谢谢 !
ps 我知道我也可以用另一种方法尝试一些合理且合乎逻辑的东西,并相应地推送ViewController.但是如果有一个检查previousViewController的解决方案,它将使我的任务变得简单,并将是一个很好的学习体验.
你可以通过使用viewControllers属性来实际做到这一点UINavigationController.这就是Apple所说的:
根视图控制器位于数组中的索引0处,后视图控制器位于索引n-2处,顶部控制器位于索引n-1处,其中n是数组中的项目数.
您的"之前的控制器"是Apple定义的"后视图控制器",对应于索引n-2:
NSUInteger arraySize = [navController.viewControllers count];
UIViewController* prevController = [navController.viewControllers objectAtIndex:count-2];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2974 次 |
| 最近记录: |