2013-08-23 111 views
1

我試圖加載的viewController如果沒有登錄賬戶然而,它給了我這個錯誤Warning: Attempt to present <DefaultViewController: 0xb96cac0> on <MainViewController: 0xb95c320> whose view is not in the window hierarchy! 這裏是我使用的是現在的代碼:視圖控制器不是從應用程序委託呈現

BOOL returnAllOff = [[User data] returnAllOff]; 

if (returnAllOff) { 
    DefaultViewController *viewController =[[DefaultViewController alloc] 
    init]; 
    UIViewController *presentingController = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; 
    [presentingController presentViewController:viewController animated:YES completion:nil]; 

} 
+0

http://stackoverflow.com/questions/13888062/whose-view-is-not-in-window-hierarchy-issue – 2013-08-23 06:29:46

+0

http://stackoverflow.com/questions/11862883/whose-view-是不是在窗口層次結構 – 2013-08-23 06:30:55

+0

我試過第一個鏈接的解決方案,但我得到了同樣的問題 – Prad

回答

1

其實這是加載從AppDelegate中一個視圖控制器的正確方式..

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

    DefaultViewController *viewController = [[DefaultViewController alloc] initWithNibName:@"DefaultViewController" bundle:nil]; 
    self.window.rootViewController = viewController; 
    [self.window makeKeyAndVisible]; 
+0

它現在給這個問題,而不是...'***終止應用程序,由於未捕獲異常'NSInternalInconsistencyException',原因:'無法加載捆綁NIB:'NSBundle(已裝載)'名稱爲'DefaultViewController''' – Prad

+0

您正在使用故事板? –

+0

是的..是否有另一個步驟? – Prad

1

通過的appdelegate進口DefaultViewController試試這一個。

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
DefaultViewController *viewController = [[DefaultViewController alloc] init]; 
self.window.rootViewController = viewController; 
[self.window makeKeyAndVisible]; 
+0

現在我添加了這一行,但是當視圖加載它的全部黑色時,即使有2個按鈕並且頁面被填充了顏色。 – Prad

+0

你給的顏色是什麼顏色? – preetam

+0

它實際上是一個用戶界面圖像視圖 – Prad

相關問題