我知道在 iOS 中可以通过三种方式更改 View
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 需要导航 Controller ,我明白这一点。但是,什么时候使用 addChildViewController 和 presentModalViewController??
最佳答案
这是四种完全不同的实现方式
addChildViewController
在 iOS5 中用于做 viewController 包含,这将使您能够轻松地创建自己的NavigationCotrollers
或TabControllers
仅适用于 iOS5addSubview
是三者中的最低层,这只会将一个 View 添加到另一个 View ,作为 subviewpresentModalViewController
用于在屏幕上模态显示 viewController,从而覆盖旧的pushViewController
在UINavigationController
中用于将新的 ViewController 推送到 viewcontrollers 堆栈,
关于ios - addChildViewController 和 presentModelViewController 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11186758/