0

我在导航栏中嵌入了 4 个视图:

VC1 -> VC2 -> VC3 -> VC4

我需要将 VC3 中的后退按钮连接到 VC1 而不是 VC2。我已经搜索实现此选项,但我没有成功。是否可以?

非常感谢

4

1 回答 1

1

如果您希望后退按钮保持其正常外观,则无法更改其行为,但如果您无法组织您的应用更好。它涉及直接编辑导航堆栈并从中删除不需要的视图控制器。

这不是推荐的处理方式,但它可以完成任务:

NSMutableArray *myNavigationStack = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];
[myNAvigationStack removeObjectAtIndex:<yourViewControllerExtraIndex>];
self.navigationController.viewControllers = navigationStack;

确保您获得正确的索引(0 是您的 rootViewController),并正确处理您的内存。

解决此问题的最佳方法可能是设计应用程序的体系结构以完全避免这种行为。

于 2012-04-18T12:47:26.693 回答