【问题标题】:UINavigation Controller - Back Button Pop to a certain UIViewControllerUINavigationController - 返回按钮弹出到某个 UIViewController
【发布时间】:2014-05-13 16:35:24
【问题描述】:

假设我们的UINavigationController 堆栈中有几个UIViewControllers

我如何定义UIViewController(而不是前一个)后退按钮应该弹出到? (所以基本上弹出两个或更多而不是一个) 也许我希望后退按钮弹回根视图控制器,或者之前只有 2 个视图控制器。

我知道我可以创建一个自定义的左栏按钮,但这会丢失按钮中漂亮的向左箭头。而且我不想使用 png 图形来恢复那个箭头。

编辑:

我想知道在导航栏中按下后退按钮时如何弹出到某个 UIViewController。我知道如何弹出到某个控制器,但不知道如何让后退按钮执行此操作。

【问题讨论】:

  • 我认为您需要澄清您的问题。您想知道如何自定义后退按钮的操作,还是想知道如何从导航控制器中弹出多个项目?标题表示后者,但最后一段暗示前者。

标签: ios uinavigationcontroller transition back


【解决方案1】:

当您推送视图控制器时,推送您可能想要返回的所有视图控制器,然后使用popToViewController:animated: 返回您想要的视图控制器。或者使用popToRootViewControllerAnimated: 一路返回rootViewController。

【讨论】:

  • 是的,但是当按下导航栏上的后退按钮时如何执行此操作?它应该看起来完全像一个标准的后退按钮(可能带有自定义文本)。
  • @Max 我明白了。一种可能的解决方案是创建 UINavigationController 类的子类并覆盖 popViewControllerAnimated: 方法以获取您的自定义代码。尚未对其进行测试以查看它是否按预期工作。
  • 是的,它可以工作,我读过它,但这并不是一个很好的解决方案。因为我必须检查每一个流行音乐。
  • @Max 您只需要在不想回到之前的 VC 时实现自定义代码。否则你可以直接拨打[super popViewControllerAnimate:]。
猜你喜欢
  • 2023-03-26
  • 2011-03-20
  • 1970-01-01
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
  • 1970-01-01
  • 2011-02-17
  • 2010-11-30
相关资源
最近更新 更多