添加了导航栏但没有返回按钮?

Added navigation bar but there is no back button?

我创建了一个 table 视图,假设用户按下一个单元格,它将转到 detailItemView,但现在唯一的问题是,无论何时用户在 detailItemView 中,都没有后退按钮甚至以为我已经嵌入了导航控制器

以下是用户按下单元格后将执行 segue 的代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    // Get the new view controller using [segue destinationViewController].
    var nav = segue.destinationViewController as! UINavigationController
    var detailScene = nav.topViewController as! DetailViewController


    // Pass the selected object to the destination view controller.
    if let indexPath = self.tableView.indexPathForSelectedRow() {
        let row = Int(indexPath.row)
        detailScene.currentObject = objects?[row] as? PFObject
    }
}

故事板的屏幕截图:

已编辑屏幕截图

我试着做了下面的回答,但仍然没有后退按钮

另一个屏幕截图,detailView 控制器没有后退按钮

将 TableViewController 嵌入到 NavigationController 中。不是直接的 DetailViewController。查看屏幕截图。

确保连接 TableViewController 和 DetailViewController 的 segue 类型为 Show(例如 Push)。您必须从字面上 push 在 Navigationstack 顶部创建一个新视图。

只需用 UItableview 制作 uinavigation 然后将 Cell 连接为(显示)

我也为此苦苦挣扎,我命名了 segue 的标识符,现在它可以工作了。只需 select 从 Table View 到 View 的 segue(箭头),然后转到右上角的选项所在的位置,然后 select 显示属性检查器。有一个标识符字段。

我刚才遇到了同样的问题,通过删除 segue,再次添加并立即给它一个标识符来解决。

单击 StoryBoardSegue,tableviewcontroller 和 detailviewcontroller 之间的 link。在属性检查器中,您可能需要单击 "Animates" 检查,即使它已被选中。选择 "Kind" 下拉菜单中的 "Show(e.g.Push)" 后执行此操作。然后 运行 您的应用,然后在停止您的应用后重新选择相同的 "Animates" 选项。我认为这是一个错误,我花了一个小时才弄清楚如何解决这个问题。此外,您可以使用已弃用的 "Push" 但这会引发警告。 StoryBoardSegue 属性检查器中的 "Kind" 下已弃用 "Push"。

如果您当前的视图控制器嵌入到导航控制器中,则无需将详细信息视图控制器嵌入到导航控制器中。只需将一个按钮连接到详细视图控制器,后退导航就会自动出现。

在属性检查器中将 detailView 的 "Interface style" 更改为 "Inferred"