【问题标题】:Control segue destination Back button Navigation bar控制 segue 目的地 返回按钮 导航栏
【发布时间】:2012-04-18 20:47:26
【问题描述】:

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

VC1 -> VC2 -> VC3 -> VC4

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

非常感谢

【问题讨论】:

  • 为什么不从 VC3 向 VC1 添加一个 segue?
  • 因为我需要执行这个序列,但我需要 VC3 后退按钮回到 VC1

标签: objective-c ios


【解决方案1】:

如果您希望后退按钮保持其正常外观,则无法更改其行为,但如果可以的话,您可以诉诸肮脏的修复(我不熟悉更好的方法)'更好地组织您的应用程序。它涉及直接编辑导航堆栈并从中删除不需要的视图控制器。

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

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

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

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

【讨论】:

    猜你喜欢
    • 2013-06-17
    • 2012-11-13
    • 2014-01-21
    • 2018-08-05
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    相关资源
    最近更新 更多