我知道有三种方法来改变iOS中的视图
1.
[self addChildViewController:thirdViewController]; [contentView addSubview:thirdViewController.view];
2.
First * sVC = [[First alloc] initWithNibName:@"First" bundle:[NSBundle mainBundle]]; [self presentModalViewController:sVC animated:YES];
3.
MyViewController *sampleViewController = [[[MyViewController alloc]initWithXXX] autorelease]; [self.navigationController pushViewController: sampleViewController animated:true];
pushViewController需要导航控制器,我明白了.但是,何时使用addChildViewController和presentModalViewController?
解决方法
这是四个完全不同的实现
> addChildViewController在iOS5中用于执行viewController控制,这将使您能够轻松创建自己的NavigationCotrollers或TabController,它仅在iOS5中可用> addSubview是最低级的三个,这只会添加一个视图到另一个视图,作为一个孩子> presentModalViewController用于在屏幕上以模态方式呈现viewController,因此覆盖旧的视图控件> pushViewController在UINavigationController中使用,将一个新的ViewController推送到viewcontrollers堆栈,