首先,我已经阅读了网上几乎所有关于导航栏/后退按钮/标题/导航项等的问题和答案。我有一个导航 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/