2015-09-25 77 views
0

我有一個名爲UINavigationControllerTab ViewUIViewController命名FirstView和另一UIViewController命名SecondView無法設置UIViewControllers

FirstViewTab View的RootView,我想改變Tab View的RootView編程方式。

我試圖

self.navigationController?.setViewControllers(NSArray(SecondView), animated: true); 

但它給錯誤:

Cannot Invoke initializer for type 'NSArray' with an argument list of type ((SecondView).Type)

也試過:

self.navigationController?.setViewControllers(NSArray([SecondView]), animated: true); 

這也給出了同樣的錯誤。

+0

重讀[集合類型](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html)章節以瞭解如何使用數組。 –

回答

0

您必須將實際對象設置爲視圖控制器,而不是類引用。因此初始化新的SecondView控制器並將viewControllers數組作爲第一個對象插入。

+0

這個工作,但它顯示改變rootView後的黑屏 – rak

+0

這意味着視圖沒有加載。您應該正確初始化視圖控制器及其視圖。 – kirander

+0

,但它在創建Class文件時自動初始化,並且我可以在StoryBoard界面中將該視圖設置爲rootView時看到視圖 – rak