iOS 第六章之视图控制器

目标

常见的视图控制器

视图控制器的功能

iOS中的MVC

创建一个多视图应用程序

 

1、常见的视图控制器

UIViewController

视图控制器的父类

每个视图控制器都有一个主视图

 

UINavigationController

树状层次结构上下导航

页面顶部,高度44的一个横条

UITabBarController

带有一个标签栏

可以管理多个视图控制器

 

UITabelViewController

简化了表格的使用

     

UIImagePickerController

从内置相册中选择图片,图片选择器

可以在相册层次中导航

 

 

2、视图控制器的功能

功能

管理视图的显示,对事件做出响应

充当用户界面和应用程序数据模型之间的协调者

显示

loadView         开始加载视图

viewDidLoad      视图加载结束

viewWillAppear   视图即将显示

viewDidAppear    视图已经显示

viewWillDisappear视图将要消失

viewDidDisappear  视图已经消失

响应方向变化

shouldAutorotateToInterfaceOrientation是否支持旋转

willRotateToInterfaceOrientation:duration:旋转前干什么

willAnimateRotationToInterfaceOrientation:duration

didRotateFromInterfaceOrientation: 旋转后干什么

处理低内存情况

内存不足的时候需要处理系统通知

      didReceiveMemoryWarning

 

3、iOS中的MVC

功能划分

模型:

保存应用程序数据的类

视图:

窗口、控件和其他用户可以看到

并能与之交互的元素的组成部分

控制器:

将模型和视图绑定在一起

确定如何处理用户输入的应用程序逻辑

 

原则

Controller可以直接和Model通信

Controller也可以直接和View通信

Model和View之间永远不能直接通信

iOS中的View和Controller的通信是透明和固定的

主要通过outlet和action实现

     

View负责静态的显示对象,由Controller的接口决定其内容显示

View的delegate和dataSource一般就是Controller

Controller负责为View翻译和格式化Model的数据

Model使用通知或回调等方式分发数据更新信息,Controller可以有选择的监听自己感兴趣的信息

View也可以监听广播信息,但一般不是Model发出的信息

一个完整的App就是很多MVC的集合

     

 

4、创建一个多视图应用程序

完成一个  具有两个界面的程序,每个界面中有一个按钮,点击后切换到另外一个界面。

 

主要操作

(0)新建一个空的 ios工程

(1)创建根视图控制器和nib文件--RootViewController

(2)修改应用程序委托,启动打开RootViewController.xib

(3)编写RootViewController.h,添加<切换>按钮的事件处理

(4)修改MainWindow.xib

(5)编写SwitchViewController.m

(6)实现内容视图

 

 代码下载:  http://vdisk.weibo.com/s/IdA3p

 

你可能感兴趣的:(ios,应用,界面,viewwillappear)