您的位置:首页 > 产品设计 > UI/UE

Viewcontroller生命周期

2016-07-19 13:45 218 查看
在开发过程中,ViewController一般分为两种,一种是UIViewController或是UITableViewController这种用来显示数据的控制器,另外一种就是装载第一种Viewcontroller的控制器,比如UINavigationViewController和UITabBarController等,不过控制器的生命周期大体上是相同的。

下面是一个View的加载流程

首先调用loadView方法,完成一些配置工作,在调用ViewDidLoad方法,完成View的初始化。

下面用代码创建一个View:

- (void) loadView
- {
CGRect viewFrame = [UISreen mainScreen].bounds;
UIView *contentView = [[UIView alloc] initWithFrame:viewFrame];
contentView.backgroundColor = [UIColor blueColor];
self.view = contentView;

levelView = [[LevelView alloc] initWithFrame:viewFrame viewController:self];
[self.view addSubview:levelView];
- }
-


首先要获取当前设备的屏幕尺寸,再根据大小来创建一个UIView名为contentView;

将contentView设置为self.view;

接着我们在创建一个名为leveView的VIew,同样以屏幕大小的尺寸来创建它,并将其添加到contentView下,作为其子视图;

创建View之后,用完就要销毁它,来看看咱们怎么把View干掉。

当view被添加到其他view中之前,会调用viewWillAppear,之后会调用viewDidAppear。当view从其他view中移除之前,调用viewWillDisAppear,移除之后会调用viewDidDisappear。当view不再使用时,受到内存警告时,ViewController会将view释放并将其指向为nil。

当收到内存的警告之后,调用didReceiveMemoeryWarning方法,就接着调用ViewWillUnload,最后调用ViewDidUnload。

所以,一个View从出生到下葬,它的流程是这样的:init -> loadView -> = viewDidLoad -> V=viewWillAppear ->viewDidAppear -> viewWillDisAppear -> viewDidDisappear - > viewWillUnload -> viewDidUnload -> dealloc

至此,一个ViewController的生命周期就完结了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  uiviewcontroller