2010-03-30 59 views
2

我想創建一個非常簡單的方法,在基於視圖的應用程序中切換視圖。出於某種原因,當視圖切換時,第一個視圖被刪除,而不是查看第二個視圖,我看到一個白色屏幕。嘗試在視圖之間切換時會看到白色屏幕!

這是我的方法:

FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil]; 
self.view = firstViewController.view; 
[firstViewController.view removeFromSuperview]; 
[firstViewController release]; 
secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil]; 
self.view = secondViewController.view; 

我不知道原因是什麼,因爲我知道,第二種觀點的viewDidLoad方法被調用(我把NSLog的出現) - 但第二個觀點是不見過!

有什麼建議嗎?

由於提前,

Sagiftw

回答

1

viewDidLoad中的執行,因爲initWithNibName:包:調用它。這並不意味着視圖實際上正在顯示。

我通常使用這個(除去初始化/釋放邏輯):

[self.view addSubview: firstViewController.view]; 
[firstViewController.view removeFromSuperview]; 
[self.view addSubview: secondViewController.view]; 
+0

謝謝!這是工作!!! – Sagiftw 2010-03-30 09:21:46