ios - 无法使用默认的 UINavigationController 后退按钮

标签 ios uinavigationcontroller uinavigationbar uistoryboard uinavigationitem

首先,我已经阅读了网上几乎所有关于导航栏/后退按钮/标题/导航项等的问题和答案。我有一个导航 Controller 和 View Controller 。没有什么花哨。无论我做什么,当我按下一个新的 View Controller 时,我都无法显示后退按钮。既不通过 Storyboard推送 segues 也不以编程方式推送。我的 View Controller 和导航栏显示正确,当我点击后退按钮应该在的位置时,它确实有效,它弹出 View Controller ,但是,它没有显示。

在你说之前,我会列出我做过的事情:

  • 我已将导航 Controller 的“显示导航栏”设置为"is"。
  • 我已经在 Storyboard上的导航 Controller 内为我的 Root View Controller 设置了一个标题。
  • 我在 Storyboard上的导航 Controller 内为我的 Root View Controller 设置了后退按钮标题。
  • 我没有任何涉及导航栏/导航项/左栏按钮/右栏按钮/隐藏后退按钮/后退按钮项目的自定义代码。
  • 我已经为我的导航 Controller 设置了一个标题。

无论我做什么,我的后退按钮都不会显示。当我调试时,它被设置为 nil。我试过实例化一个,但它也没有帮助。我错过了什么?

最佳答案

首先检查您推送的 Controller 是否在查看器中有一个导航项,您可以为其设置标题、后退按钮和提示。我发现根据 Storyboard创建 Controller 的方式,它可能有也可能没有您可以在 View 树中看到的 Controller 。设置后退按钮似乎不起作用,除非您实际上可以在 Storyboard的两个 Controller 中看到一个。

其次,我最近才意识到,您在“从”推送的 Controller 中设置了后退按钮的标题,而不是在显示后退按钮时将显示的 Controller 中。

例如如果您有 Controller A 和 Controller B,并且您要从 A 推送到 B:您必须在 Controller A 的导航项中设置后退按钮的标签,而不是在 Controller B 的导航项中。您可能已经知道这一点,但它令人困惑。

关于ios - 无法使用默认的 UINavigationController 后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28990246/

相关文章:

ios - 无法在桥接文件中导入 "fscalendar.h"

iphone - 如何自定义导航栏的文字颜色

ios - 使用插入图像自定义 UINavigationBar

iphone - UISegmentedControl 选定的色调未显示

xcode - 命令/Xcode4/Platforms/iPhoneOS.platform/Developer/usr/bin/clang 失败,退出代码为 252

ios - 如何仅获取 NSURL 的 TLD?

c++ - 找不到我的着色器(Obj-C++、ios、opengles2.0)

iphone - 导航 Controller 上的编辑按钮不进入编辑模式

objective-c - 在 iOS6 中处理旋转

uikit - 是否可以在 UISplitViewController 上隐藏导航栏?