2012-04-18 61 views
2

假設我有一個帶導航控制器和多個視圖控制器的故事板。將現有的UINavigationController嵌入到新的視圖控制器中

一切都好,直到我試圖添加一個新的視圖控制器,並希望將其與現有UINavigationController關聯。當我去編輯器>嵌入>導航控制器時,Xcode幫助創建一個新的控制器,這正是我不想要的。當我嘗試拖動以創建線框時,我創建了一個segue關係,這又是我不想要的。

有沒有辦法讓新的視圖控制器與現有的導航控制器打好?

+0

如果不通過push segue,您的新視圖控制器將如何與您的導航控制器相關聯? – jonkroll 2012-04-18 00:28:51

+0

不應該有另一個關聯嗎?當我嵌入一個新的導航控制器時,Xcode不會創建push segues,而是一種不同類型的導線連接 – 2012-04-18 00:30:37

+0

另外,當我創建一個push segue時,視圖控制器的高度在運行時不會調整,導航控制器的導航欄將遮蔽視圖的頂部。我注意到項目中的視圖最初不會遭受這種情況,只有稍後添加的視圖纔會通過push segue連接到導航控制器。 – 2012-04-18 00:32:56

回答

4

我想你錯誤地想到了UINavigationController。 UINavigationController只是一個容器視圖控制器,用於管理視圖控制器的層次結構。你從一個UINavigationController開始,它只有一個根視圖控制器(聽起來你想要多於一個,這不會發生)。當你推送一個新的視圖控制器時,它被推送到同一個UINavigationController上。所以如果你想讓多個視圖控制器與單個UINavigationController相關聯,他們必須分層堆棧到根視圖控制器上。

相關問題