[英]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(或需要传递的任何数据)设置为消息控制器之外,您无需执行任何其他操作。
编辑:
对于滑动菜单,我建议使用以下导航模型:
Storyboard ViewController
的层次结构
Nav Controller --root segue--> Contact List VC --show segue--> Message VC
滑动菜单通常用于显示顶级视图 。 您的Contact List VC
是顶层视图。 由于它也是VC的根目录,因此您可以使用self.navigationItem.leftBarButtonItem
分配一个按钮以显示您的滑动菜单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.