繁体   English   中英

后退按钮没有出现在导航栏中

[英]Back button doesn't appear in navigation bar

我很难理解视图控制器的呈现方式以及如何在它们之间快速导航。 我有一个联系人列表,当您单击一个联系人时,它会打开相关的对话,但不会在对话列表中显示任何后退按钮。 我的故事板是:联系人列表->导航控制器->消息控制器

联系人列表之前没有导航控制器,因为它弄乱了滑动菜单。

这是我的代码:

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

    if segue.identifier == "ShowConversationFromSelectedContact" {

        let nav = segue.destinationViewController as! UINavigationController
        let cdtvc = nav.topViewController as! MessageViewController
        cdtvc.currentConversation = openConversation

    }

}

更笼统地说,如果您可以解释或拥有关于控制器堆栈的工作方式以及如何在它们之间导航的良好资源,那很好,我读了很多文章,但仍不清楚。

重新排列它,使其成为Nav Controller -> Contact list -> Message controller ,并使用push搜索(如果您使用的是1.2+版本,则称为Show搜索)。

prepareForSegue:内部prepareForSegue:除了将联系人ID(或需要传递的任何数据)设置为消息控制器之外,您无需执行任何其他操作。

编辑:

对于滑动菜单,我建议使用以下导航模型:

  1. Storyboard ViewController的层次结构

    Nav Controller --root segue--> Contact List VC --show segue--> Message VC

  2. 滑动菜单通常用于显示顶级视图 您的Contact List VC是顶层视图。 由于它也是VC的根目录,因此您可以使用self.navigationItem.leftBarButtonItem分配一个按钮以显示您的滑动菜单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM