2017-04-06 48 views
-1

我在UINavigationController上使用set​View​Controllers函數來設置我的第一個根視圖控制器,但viewControllers數組在調用後是空的。UINavigationController.set視圖控制器導致一個空的viewControllers數組

我知道預計行爲會在設置後立即在viewControllers陣列中看到視圖控制器,即使存在動畫也是如此,因此我不確定可能導致問題的原因。

setViewControllers([viewControllerToPresent], animated: true)

值得注意的是:它在應用程序啓動時發生的事情,但我敢肯定後UINavigationController的加載和準備。

+0

我們可以看到一些代碼,好嗎? –

+0

感謝您的幫助。真的很難展示任何簡潔的代碼。它需要的是對奇怪UIKit行爲的基本理解。如果你知道更多關於UIKit爲何如此行爲的信息,請參閱下面的答案。乾杯! – bitwit

+0

甚至有人用「古怪的UIKit行爲的強烈基本認識」看不懂你的頭腦和解決未充分說明了問題。例如,您的解決方案如下提到一個模式是問題,但你的問題沒有注意到模式演示(讓玩單獨_multiple_視圖控制器)甚至等式的一部分。幾行代碼對於我們這些試圖幫助你的人來說可能會有很長的路要走。只是要記住。 – nickgraef

回答

0

問題最終是試圖作爲navigationcontroller試圖推的ViewController到堆棧(二者動畫)

通過由1延遲模態的呈現以同時呈現的ViewController模態(教程幻燈片)其次,兩個視圖控制器都能夠呈現而不會互相破壞。

會愛,如果任何人如果與UIKit的與動畫的API不夠熟悉而解釋知道這個個爲什麼。如果我沒有聽到任何人的消息,我會接受我自己的答案,但如果我們將來得到更好的答案,我們會很樂意改變這一點。