iOS基石——UIViewController

来源:互联网 发布:mysql自带可视化界面 编辑:程序博客网 时间:2024/04/16 17:31

UIViewController的生命周期及界面切换

本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:
1.为什么使用viewController
常识: iOS应用由于手机屏幕比较小, 一般情况下, iOS应用都是由多个界面构成的, 为了管理每个界面, 系统提供了一个类 UIViewController类

    UIViewController是一个非常重要的类,    以后项目中一个界面就是一个UIViewController

2.怎么去控制界面:MVC设计模式
MVC是一种界面实现的设计模式。把每个界面的实现分成为数据层,view(也就是界面),controller逻辑处理器。

(1).view里面是什么,UILabel,UIButton,UIImageView。view负责把界面展示出来。
(2).Model数据模型,也可以理解为一个界面的数据属性。(NSString,NSDictionary,NSArray,还有对象属性)
(3).Controller,简单来说,就是把数据显示到View上,然后通过view中的用户操作更新数据

3.viewController的生命周期(事件处理)
//loadView- dealloc 视图控制器的视图的生命周期(view从创建到销毁的一系列方法)

1、不重写loadView方法,ViewController的父类会自动调用loadView方法,创建一个UIView的实例,作为视图控制器的view属性中的view
2、重写loadView方法(最好不要重写),必须手动调用 [super loadView] 让UIViewController创建一个空的UIView,供ViewController来使用
3、一般情况下,loadView,viewDidLoad方法只调用一次(一旦视图被创建和加载完成之后,就不再创建和加载)

视图控制器从创建到显示过程:        alloc+init              创建        loadView                加载视图(不要重写)        viewDidLoad     视图已经被加载完成了,视图加载完成之后执行, 只会执行一次        viewWillAppear  视图即将显示,视图现实的时候执行, 每次显示都会执行        viewDidAppear   视图已经显示了 视图控制器从显示到释放过程:        viewWillDisappear       视图即将消失        viewDidDisappear        视图已经消失        dealloc                     销毁视图控制器

4.简单的界面之间的切换
(1)presentViewController(推进)
(2)dimssViewController(推出)
(3)界面切换动画UIModalTransitionStyle
sVC.modalTransitionStyle = UIModalTransitionStylePartialCurl;