2016-09-19 54 views
0

如果我總共有6個屏幕,並且我想在我的最後兩個場景之間添加導航控制器,所以我的最終屏幕具有導航欄/通過導航控制器導航,有沒有簡單的方法可以做到這一點?如何僅在Swift iOS的最後一個屏幕上顯示導航欄?

我已經嘗試在我的第一個場景中嵌入導航控制器,並將我的segues切換爲「show」,並將navigationbar.isHidden設置爲true,然後在我的最後一個屏幕上嘗試在viewdidappear中將其設置爲false,然後在viewdiddissapear中再次成爲真實。

首先它沒有工作,(我只是需要修補它可能),但其次,它似乎很多「工作」只是爲了在兩個屏幕之間進行導航。

您是否需要在整個項目中進行導航才能在兩個特定屏幕之間進行導航?什麼是最好的方法來做到這一點?

回答

1

如果你有一個故事板,你應該能夠選擇倒數第二個屏幕,並使用編輯器 - >嵌入viewController - >導航控制器菜單項。

+0

我覺得我昨天晚上已經嘗試了一百次,今天的工作就像一個魅力。 謝謝!這比在整個項目中導航並隱藏欄杆要簡單得多。 – user6820041

+0

我確實有一個問題。所以我在我的屏幕之間傳遞變量以準備segue,並且在嵌入導航控制器時,我收到一個錯誤,指出目標VC不再是我正在分配的目標,而現在它是Nav Controller,它是有意義的。 有沒有一種平穩的方法來保持現在正在使用此導航控制器傳遞的變量? 或者,有什麼辦法只是強制導航欄到視圖上而沒有導航控件呢?我正在使用JSQMessages,只需要一種離開屏幕的方式。 – user6820041

+0

我沒有快速解決方案。我儘量避免在控制器之間傳遞數據,以避免類似的問題發生。如果您使用MVC結構,則每個控制器只需向模型詢問需要顯示的信息,而不是具有內置依賴性。 –

1

在要隱藏navBar添加以下的viewDidLoad

self.navigationController!.isNavigationBarHidden = true 
相關問題