2011-11-13 23 views
0

我正在開發一個iPAD應用程序,其中包含一個UITabViewController和一些在App Delegate中初始化的自定義控制器。
我想顯示一個登錄屏幕顯示在用戶可以到達tabbar控制器之前。但是,當我嘗試以模態方式呈現LoginController時,它不會顯示在屏幕上。
請參見下面的代碼:tabBarController:PresentModelViewController不起作用

[tabBarController setViewControllers:viewControllers]; 
[[self window] setRootViewController:tabBarController]; 

LoginViewController *loginVC = [[LoginViewController alloc] init]; 
[[self tabBarController]presentModalViewController:loginVC animated:NO]; 

現在屏幕只顯示tabBarController?我究竟做錯了什麼?
如果我使用[[self window]setView:loginVC.View]添加登錄VC,我會看到登錄屏幕。

回答

0

我不知道你的代碼爲什麼不起作用,但是

你有沒有試試這個?

[self.tabBarController.selectedViewController presentModalViewController:loginVC 
                   animated:NO]; 

(只是要確保你沒有在某個時刻:self.tabBarController = tabBarController所以你tabBarController不只是一個局部變量和self.真正得到它)

+0

文斯,我只是想出瞭如何使它工作..我打電話presentModelViewController前[self.window makeKeyAndVisible]使tabBarController可見屏幕即前一次我轉移了presentModalViewController調用窗口的UITabBarController後可見,它的工作正確 - 我覺得這個模式的呼叫只會在視圖本身可見之後工作......我今天花了整整一天的時間。 - 無論如何,我感謝你花時間回答這個問題。 – Vinod

+0

這是有道理的。 –