开头
- 这是分篇章,整篇请看零基础iOS开发学习日记
界面跳转-modal
- modal方式跳转,针对前后跳转的界面没有任何联系
- nav的跳转请看
- 跳转
- (void)btnClick {
testViewController *vc = [testViewController new];
//全屏弹出
vc.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentViewController:vc animated:YES completion:nil];
}
复制代码
- 消失
- (void)back {
[self dismissViewControllerAnimated:NO completion:nil];
}
复制代码
视图生命周期
系统相关函数
//加载
- (void)loadView {
[super loadView];
NSLog(@"ViewController - loadView");
}
//已经加载
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"ViewController - viewDidLoad");
}
//将要出现
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"ViewController - viewWillAppear");
}
//已经出现
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"ViewController - viewDidAppear");
}
//将要消失
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
NSLog(@"ViewController - viewWillDisappear");
}
//已经消失
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
NSLog(@"ViewController - viewDidDisappear");
}
复制代码
界面出现的顺序
ViewController - loadView
ViewController - viewDidLoad
ViewController - viewWillAppear
ViewController - viewDidAppear
复制代码
界面切换的顺序
testViewController - loadView
testViewController - viewDidLoad
ViewController - viewWillDisappear
testViewController - viewWillAppear
testViewController - viewDidAppear
ViewController - viewDidDisappear
复制代码
界面跳回的顺序
testViewController - viewWillDisappear
ViewController - viewWillAppear
ViewController - viewDidAppear
testViewController - viewDidDisappear
testViewController - dealloc
复制代码
实际使用
- 我在实际开发中,最常操作的还是在
loadView
和viewDidLoad
loadView
是在控制器的view为nil的时候加载的,也就是说,当你需要更换控制器的根view时,可以在这个函数中写,而且不需要调用super的方法- 那么,控件加载一般是写在
viewDidLoad
中
总结
- 界面跳转就好比叠盘子,一个个叠上去,最下面的会一直被保存,而当上面的界面被撤掉后,则直接被销毁
- 在整个界面显示的过程中,数据的加载和显示,其实是分开的
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END