我想创建一个非常简单的方法,在基于视图的应用程序中切换视图。出于某种原因,当切换视图时,第一个视图被删除,而不是查看第二个视图,我看到一个白色的屏幕。
这是我的方法:
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
答案 0 :(得分:1)
viewDidLoad正在执行,因为initWithNibName:bundle:调用它。这并不意味着视图实际显示。
我通常使用它(删除初始化/释放逻辑):
[self.view addSubview: firstViewController.view];
[firstViewController.view removeFromSuperview];
[self.view addSubview: secondViewController.view];