簡體   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