UIViewController 视图控制器

一 概述

1.作用:
•创建和管理视图。
•管理视图上显示的数据。
•设备方向变化,调整视图大小以适应屏幕。
•负责视图和模型之间的数据及请示的传递。

3. 主要属性

• view:控制器管理的根视图
• title: 控制器导航栏的标题
• wantsFullScreenLayout: 是否需要全屏显示
• interfaceOrientation: 界面方向
• navigationItem:导航子项
• editing: 是否处理编辑状态
• hidesBottomBarWhenPushed: 入栈时隐藏底部栏
• toolbarItems: 工具栏子项集

• tabBarItem: 标签栏子项

• editButtonItem:返回一个编辑按钮   
• parentViewController :交视图控制器 
•  searchDisplayController :搜索显示控制器
•  splitViewController :分割视图控制器
•  modalViewController :模式控制器
•  navigationController :导航控制器
•  tabBarController :标签控制器

 

4. 主要方法

• – loadView:不要主动调用该方法,当访问控制器view的时候,就会调用该方法。如果要自己创建view,则需要重写该方法。
• – viewDidLoad:当加载控制器的视图到内存时,该方法被调用。
•  – viewWillAppear:
•  – viewDidAppear:
•  – viewWillDisappear:
•  – viewDidDisappear:
• – shouldAutorotateToInterfaceOrientation:是否支持指定的界面方向。
• –willAnimateRotationToInterfaceOrientation: duration:将要使用动画过渡到某个界面方向。
• – didReceiveMemoryWarning:接收到内存警告信息。
• – presentModalViewController:animated:显示模式控制器
• – dismissModalViewControllerAnimated:隐藏模式控制器
• – setToolbarItems:animated:设置工具栏子项
• – setEditing:animated:设置编辑状态

二 知识点详解

1. 视图控制器的生命周期
 当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序

1> init 初始化对象, 分配空间(在init中应该只有关键数据的初始化. init中年不要调用self.View 否则会导致viewController创建View(因而View是lazyinit的))
2> loadView载入视图, 这一步通常不需要去干涉(只初始化View, 一般用于创建比较关键的View, 列入tableViewCOntroller的tableView, UINavigationController的navigationBar, 不可以调用view的getter(在调用[super loadView]之前,最好也不要初始化一些非关键的View))
3> viewDidLoad这个时候View已经有了,可以进行自定义数据的添加了. 有一点需要注意的是, viewDidLoad会调用多次(viewcontroller可能多次载入View)
4> viewWillAppear
视图即将出现在屏幕上时,调用该方法
一般用于显示后,在切换动画后,如果有需要的操作,可以在这里加入相关代码。
5> viewDidAppear视图出现在屏幕上后,调用该方法
6> viewWillDisAppear视图即将从屏幕上移除时,调用该方法
7> viewDidDisAppear视图已经从屏幕上移除时调用该方法
8> dealloc视图被销毁时调用该方法

注解:   创建控制对象视图的方法是 UIViewController懒加载方法
- (UIViewController *)view{
     [self loadView];
     [self viewDidLoad];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值