尝试在视图之间切换时会看到白屏!

时间:2010-03-30 08:13:01

标签: iphone objective-c xcode

我想创建一个非常简单的方法,在基于视图的应用程序中切换视图。出于某种原因,当切换视图时,第一个视图被删除,而不是查看第二个视图,我看到一个白色的屏幕。

这是我的方法:

 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 个答案:

答案 0 :(得分:1)

viewDidLoad正在执行,因为initWithNibName:bundle:调用它。这并不意味着视图实际显示。

我通常使用它(删除初始化/释放逻辑):

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