【Apple文档阅读笔记】View编程指南---View

  

View是用户交互的重中之重,所以也承载了很多的功能:
在布局和姿势图管理上:
管理自身的大小和父视图的关系,这是对上的
管理一系列的子视图,这是对下的
覆盖子视图的大小和位置
定位系统和最上面的window的点的转化

在渲染和动画的层面来说,View承载的功能主要是
渲染区域内的内容
更新自己的属性达到动画效果

事件处理也是View的一大功能
接收触摸事件
参与响应链条的工作
Q:这两个功能貌似紧密相关,接收时间,然后处理。

View的职责很明显是MVC中的V,管理创建,渲染可见的部分,处理布局和管理视图层次框架。还有内部的事件处理就在另一个文档中Event handling guide for iOS,之后就会去看。

如何创建和配置视图对象?
简单说,两步走,先创建试图对象(这里有两种方式,代码创建和IB创建),然后整合进视图层次中来使用。

那么如何使用IB创建视图对象?
控件拖拖拖,然后对应一个View Controller。

代码如何创建视图对象呢?
先创建对象(分配内存和初始化),之后作为子视图添加

apple本身开放了一些属性来定制视图的外观,比如背景色,透明度,位置大小,内容模式。

创建和管理视图层次

实现一个自定义的View需要做哪些事情?
1. 定义一些合适的初始化方法
代码创建view,覆盖initwithFrame方法来自定义自己的初始化方法
从nib文件加载视图,覆盖initWithCoder方法,是因这个方法来初始化你的视图
2. 实现dealloc放啊来执行自定义数据的清理工作
3. 处理渲染,覆盖drawRect方法
4. 设置autoresizing属性来定义自动大小的行为
5. 如果说视图还有子视图的话,
在视图初始化过程中创建子视图
在创建的时候这是autoresizingmask属性
如果子视图需要自定义布局,覆盖layoutSubviews方法和实现你的自动布局代码
6. 处理基于触摸的时间
添加手势管理:addGestureRecognizer
自己来处理触摸事件,就需要覆盖几个方法
touchesBegan:withEvent:
touchesMoved:withEvent:
touchesCancelled:withEvent:
touchesEnded:withEvent:
7. 也可以覆盖打印版本的方法,是的和屏幕显示的方法不同

 

posted on 2015-08-24 13:56  zhangzj00000000  阅读(131)  评论(0编辑  收藏  举报

导航