【问题标题】:add back button to first screen of navigation controller in iOS将返回按钮添加到 iOS 中导航控制器的第一个屏幕
【发布时间】:2014-08-15 22:11:43
【问题描述】:

我知道 push segue 会自动添加一个后退按钮,以便演示者可以在单击时返回演示者。我想要的是在 NavigationController 的第一个 UIViewController 上可以使用后退按钮(基本上是链中唯一没有后退按钮的视图控制器)。如何强制添加后退按钮?

我不能简单地添加自定义图像,因为我想要与 iOS 后退按钮完全相同的 V 形

【问题讨论】:

  • 你想做什么?当用户点击按钮时会发生什么?
  • 是的,这没有意义。你可以添加一个 UINavigationItem 但是当他们点击返回时会发生什么?除非您添加 UINavigationItem 作为菜单或具有任何其他功能。
  • 那个按钮应该带你“返回”到什么地方?
  • @Aaron, @LucaBartoletti 如果这真的是一个症结所在,@KonsolLabapen 指出:UITabBar 以编程方式将我带到 DogVC,它作为其导航线程的领导者没有后退按钮。我想通过添加一个后退按钮来简化用户体验,这将使用户回到呼叫者/演示者。就这样。最大的问题是我想要与 iOS 使用的完全相同的雪佛龙,但事实证明这很难获得。所以我认为强制在同一个后退按钮应该给我 V 形。毕竟我可以随意修改@selector
  • 你无法得到确切的原因。相同的。雪佛龙。是因为您没有正确使用导航控制器。

标签: ios uinavigationcontroller xcode5


【解决方案1】:

实现这一点的最简单(但很老套)的方法可能是在实际的第一个视图控制器之前在堆栈中添加一个虚拟视图控制器,因此您将获得一个正确的后退按钮。如果需要,使用 dummy 的 backBarButtonItem 自定义按钮标题,并使用 -viewWillAppear: 响应被点击的按钮。

【讨论】:

  • 这是一个很好的答案。我想了想,但希望有更健康的东西。 +1。如果找不到更好的,我会用这个,并且会自定义返回按钮的@selector
  • 我曾经尝试破解UINavigationController 的导航项层次结构以实现类似的效果,但结果非常糟糕。不得不从头开始实施整个事情。我应该说,这真的不值得痛苦。
【解决方案2】:

我想要的是在第一个 UIViewController 上可以使用后退按钮 .... 我如何强制添加后退按钮

这整个思维和逻辑都是错误的。这不是 iOS UINavigationControllers 的工作方式。您在 UINavigationControllers 中有一个起始页面(mainViewController),然后您从那里“继续”到其他内容。但是你总是回到主视图控制器。想想看,如果你在主视图控制器上放一个后退按钮,用户会回到哪里呢?

如果你有这样的情况。

SomeViewController --> UINavigationController --> MainViewController

一旦用户在 SomeViewController 上,您将他带到 MainViewController,它是 UINavigationController 的一部分,那么返回按钮就有意义了。

仅供参考 - 您可以轻松地将 UIBarButtonItem 拖放到 Xcode 中的任何 UINavigationController 并将其称为“返回”。然后,您必须将该后退按钮连接到另一个视图控制器。

【讨论】:

  • OP 准确地说我想要完全相同的雪佛龙。不幸的是,UIBarItem 有“返回”。有“倒带”,这不是我想要的形象。我寻求“后退”人字形。
  • 这个答案是冒昧的,学习者指出你的部分缺乏想象力是正确的。这确实是一个简单的问题,在这里解释学习者想要做什么是无关紧要的。我仍然可以想到一个:UITabBar 以编程方式引导到页面,而后退按钮会将用户带回演示者。
【解决方案3】:

也许它没有意义,但为什么不能添加自定义图像?如果你想要的只是“返回”人字形,你不能截取这个按钮,然后把这个图像放在你的自定义 UIBarButtonItem 上吗?

【讨论】:

  • 我试过它看起来不太一样。显然其他人已经尝试过,但对他们也没有用。
猜你喜欢
  • 1970-01-01
  • 2014-01-21
  • 2019-03-31
  • 1970-01-01
  • 2018-06-01
  • 2018-04-03
  • 2011-08-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多