看來有幾種方法可以創建UINavigationController
作爲第一個控制器。也許最簡單的方法是簡單地點擊Storyboard中的View Controller並將其嵌入到導航控制器中。但我想知道只有在代碼中才能做到這一點的最佳方法。爲第一個UIViewController創建一個UINavigationController
你也可以繼承UINavigationController
,導入第一個視圖控制器,並在viewDidLoad
alloc
和init
一個實例,然後將其添加爲childViewController
。在故事板中,用導航控制器替換默認視圖控制器,並將類設置爲導航控制器。請注意,在以前的iOS版本中,不建議子類UINavigationController
。
或者你可以創建另一個UIViewController
,alloc init
第一視圖控制器,然後alloc init
一個UINavigationController
與視圖控制器爲根,添加導航控制器,因爲這視圖控制器的子視圖控制器,並添加導航控制器的視圖該視圖控制器視圖的子視圖。在Storyboard中更改視圖控制器的類。但這是一個尷尬的設置,因爲您創建了一個視圖控制器,其目的是添加一個導航控制器,但它本身不是導航控制器。
我讀過關於另一種方法,涉及在AppDelegate
中創建UINavigationController
。也許還有更多的解決方案。
在最新的開發環境中,針對iOS 8+的最合適的方法是什麼?
「最好」是一種主觀的東西。你對什麼具體情況感興趣?你是在談論使用沒有故事板,或者有一個想要嵌入導航控制器的初始視圖控制器的故事板? – rdelmar 2015-02-05 17:49:47
爲什麼不在故事板中查看它在應用程序代理中爲您生成的代碼。然後你會看到它是如何完成的。第一個控制器是您在故事板中選擇的屬性檢查器中的初始控制器。 – 2015-02-05 17:49:53
@rdelmar儘可能地保持默認的故事板不變,在代碼中執行所有的操作。如果它可以完全移除,那麼在這種情況下最好。 – Joey 2015-02-05 18:15:00