iOS 第六章之视图控制器

来源:未知 责任编辑:责任编辑 发表时间:2014-05-26 10:58 点击:

目标

常见的视图控制器

视图控制器的功能

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)实现内容视图

 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Lexical or Preprocessor Issue 'xxx.h
    • ios学习笔记(二)xcode 4.3.2下实现基本交互
    • ios版本的helloworld
    • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
    • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
    • IOS类似iphone通讯录TableView的完整demo【附源码】
    • UITableView一些方法
    • [iPhone中级]iPhone团购信息客户端的开发 (二)
    • 如何为Iphone应用创建启动界面
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1