视图基础
- 视图是UIView对象,或者是UIView的子类对象
- 视图知道如何绘制自己
- 视图可以处理触摸事件
- 视图会按照层次排列,位于视图层次最顶端的是应用窗口(UIWindow对象)
视图的层次结构
任何一个应用都有且只有一个UIWindow对象,也就是应用窗口,是所有视图的容器。应用需要在启动时创建并设置UIWindow对象,然后为其添加其他视图。加入窗口的视图会成为该窗口的子视图,也就是subviews。子视图也可以拥有自己的子视图,从而构成一个以UIWindow对象为根视图的视图层次结构,视图层次结构形成之后,系统会将其绘制到屏幕上。
绘制过程:
1.视图层次结构中的视图分别绘制自己。视图会将自己绘制到图层上(layer),每个UIView对象都有一个CALayer类型的名为layer的属性。
2.所有视图的图层组合成一副图像,绘制到屏幕上。
视图的frame属性:视图的frame属性的结构类型是CGRect类型,它保存的是视图的大小和相对于父视图的位置。CGRect结构中包含了另外两个结构:origin和size。origin的类型是CGPoint,包含了两个float类型的成员:x和y,表示相对于父视图的坐标,在iOS中视图坐标的原点是父视图的左上角;size的类型是CGSize,也包含了两个float类型的成员:width和height,表示视图自身的宽高。值得注意的是这些值的单位都是点(point),而不是像素(pixels),在Retina屏幕上一个点是两个像素的高度,两个像素的宽度;非Retina屏一个点是一个像素的高度,一个像素的宽度。
一个视图可以有自己的父视图,即其所继承的视图,属性名为superView。为了避免交叉引用,superView使用的是弱引用。
版权声明:本文为Mr_H9527原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。