添加了导航栏但没有后退按钮?

时间:2015-05-19 13:12:53

标签: ios uitableview swift segue uistoryboardsegue

我创建了一个表视图,然后让用户按下一个单元格,它将转到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
    }
}

故事板的截图:

enter image description here

编辑过的截图

enter image description here

我尝试了下面的答案,但仍然没有后退按钮

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

enter image description here

7 个答案:

答案 0 :(得分:10)

将TableViewController嵌入NavigationController中。不是DetailViewController直接。看看截图。

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

Check screenshot

答案 1 :(得分:3)

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

答案 2 :(得分:3)

单击StoryBoardSegue,tableviewcontroller和detailviewcontroller之间的链接。在属性检查器中,即使选中了“动画”,也可能需要单击“动画”检查。选择位于“Kind”下拉菜单中的“Show(egPush)”后执行此操作。然后运行您的应用程序,然后在停止您的应用程序后重新选择相同的“动画”选项。我认为这是一个错误,花了我一个小时来弄清楚如何解决这个问题。此外,您可以使用已弃用的“推送”,但这将违反警告。已弃用的“推送”位于StoryBoardSegue属性检查器中的“Kind”下。

答案 3 :(得分:1)

我也在努力解决这个问题,并且我命名了segue的标识符,现在它可以工作了。只需从表视图中选择segue(箭头)到视图,然后转到选项所在的右上角,然后选择显示属性检查器。标识符有一个字段。

答案 4 :(得分:0)

只需使用uinavigation制作UItableview,然后将单元格连接为(显示)

答案 5 :(得分:0)

如果当前视图控制器嵌入在导航控制器中,则无需在导航控制器中嵌入详细视图控制器。只需将按钮连接到详细视图控制器,后退导航就会自动生成。

答案 6 :(得分:0)

在“属性”检查器中将detailView的“界面样式”更改为“推断”