UIViewControl 视图控制器
UIViewControl:每一个视图控制器都自带一个UIView,
UIViewControl 是所有视图控制器的父类
* 模拟系统中window的rootVC的属性的setter方法:
- (void)setWithrootVC: (UIViewController *)otherRootVC {
if (_rootVC!= otherRootVC){
[_rootVC release];
_RootVC = [otherRootVC retain];
[ self addsubView: otherRootVC.view];为什么在试图控制中会自带一个View,它其中的原理是这样的,在系统实现set方法中,对自身进行了一次添加View的操作
}
}
模态跳转:这个方法都需要在按钮点击关联方法中实现的
//界面跳转的模态方法
[self presentViewController:regVC animated:NO completion:nil];
// 界面跳转之后返回的模态方法
- (void)haha{
[self dismissViewControllerAnimated:NO completion:^{
}];
视图控制器的生命周期执行顺序:
//1、视图加载完毕
- (void)viewDidLoad{
[super viewDidLoad];
NSLog(@"视图加载完毕%s",__FUNCTION__);
}
//2、视图即将出现
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSLog(@"视图即将出现%s",__FUNCTION__);
}
//3、视图已经出现
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSLog(@"视图已经出现%s",__FUNCTION__);
}
//4、视图将会消失
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
NSLog(@"视图即将消失%s",__FUNCTION__);
}
//5、视图已经消失
- (void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
NSLog(@"视图已经消失%s",__FUNCTION__);
}
//6、当前视图控制器被释放的时候,所执行的方法
- (void)dealloc{
// ARC下不需要写[super dealloc];
// MRC下需要写[super dealloc];
}