2014-01-14 58 views
2

我想要在啓動時在選項卡欄應用程序中打開特定選項卡。我收到警告Warning: Attempt to present <settingsViewController: 0x16e49870> on <UITabBarController: 0x16d25440> whose view is not in the window hierarchy!嘗試在<UITabBarController>上呈現其視圖不在窗口層次結構中的<ViewController:>

self.tabBarController.selectedIndex = 1; 

我試着在DidFinishLaunching

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 


numpadviewcontroller = [[tabBarController viewControllers] objectAtIndex:0]; 
settingsviewcontroller = [[tabBarController viewControllers] objectAtIndex:1]; 
[tabBarController setSelectedIndex:1]; 

但得到相同的warning.I用故事板

我試着在viewWillAppear中的代碼,我的viewDidLoad還標籤欄,但我的第一個控制器得到相同的錯誤。

+1

你是如何創建tabBarController的,你爲什麼要呈現視圖?你能展示更多的代碼嗎? – Mike

+1

我解決了它,我寫了ViewDidAppear呈現代碼。我提出的觀點,原因是顯示一個登錄屏幕,我希望標籤欄控制器作爲根視圖。 –

回答

4

在viewWillAppear和viewDidLoad中,ViewController的視圖尚未被加載到窗口層次結構中。我會嘗試在viewDidAppear中添加代碼。

相關問題