导航控制器中不显示后退按钮
Posted
技术标签:
【中文标题】导航控制器中不显示后退按钮【英文标题】:Back button does not show up in navigation controller 【发布时间】:2016-07-19 02:39:55 【问题描述】:我在一个视图控制器中的表格单元格中添加了一个 show segue 到嵌入在导航控制器中的另一个表格视图。当我单击第一个视图中的单元格时,segue 按预期工作并显示新视图。但是,“返回”按钮(带有原始视图的标题)不会出现在导航栏中。
我搜索了 SO,发现过去曾提出过许多此类问题(针对 Swift 和 Objective-C)。他们中的大多数人建议第一个视图需要一个标题才能工作。我确实有一个头衔。我什至以编程方式添加了一个,以防万一。那没有帮助。建议向segue添加标识符的答案之一;那也没有帮助我。
我还能如何调试这个问题?
【问题讨论】:
可能是因为您将新视图显示为modal
,请尝试使用push
,以编程方式显示,执行self.navigationController.pushViewController
。而且,新视图也不应该嵌入到 navigationController 中,它必须和父视图是同一个 navigationController
你为什么不在这里放一些代码。你呈现第二个 viewController 的方式
我同意@Tj3n,因为你说“提出新观点”,你可能在做模态搜索。如果您以编程方式执行此操作,则使用 Tj3n 提到的 pushViewController,如果不是,请在情节提要中使用,而不是选择当前模态选择显示
我刚刚发布了一些屏幕截图,应该表明我没有以模态方式呈现。我想避免为此编写代码。
【参考方案1】:
问题似乎是您正在推入一个全新的navigationController
,将其删除,然后直接进入新视图Detail
本身,它们必须在同一个navigationController
中才能工作
【讨论】:
我以为您将表格(或其他视图)嵌入到导航控制器中以获得自动“返回”按钮功能,不是吗? 你应该只将你的父 VC 嵌入到导航控制器中,而不是你的子视图,如果你这样做了,它会成为一个全新的导航控制器,并且在按下后不会显示返回按钮,在这种情况下,只有带有单元格的 tableView 应该嵌入到导航控制器中,而不是detail
视图
这正是问题所在。万分感谢。我不知何故假设我需要在导航控制器中嵌入子视图。【参考方案2】:
验证您没有在目标控制器中隐藏后退按钮...
【讨论】:
【参考方案3】:我在情节提要中有一个left bar button item
,删除了按钮,后退按钮出现了。
【讨论】:
以上是关于导航控制器中不显示后退按钮的主要内容,如果未能解决你的问题,请参考以下文章