版本 | 时间 |
---|---|
V1.0 | 2018.11.4 |
前言
正文
UIWindow
简介
UIWindow
是一种特殊的UIView
,通常在一个App只有一个UIWindow
,但是在一些特殊的需求(比如:在App中需要全局的悬浮控件等)在App中也可以有多个UIWindow
。
作用
- 作为容器,承载App程序所要现实的所有视图
- 传递触摸消息到其他的UIView或者其他的对象
- 还可以与UIViewController协同共奏,以便与完成设备方向旋转支持等
UIView
简介
UIView
是在UIKit.framework
中定义的,UIView
继承于UIResponder
,同时UIView
是视图的基类。
作用
-
UIView
继承于UIResponder
,UIResponder
是用来响应事件的,也就是UIView
是用来响应事件的。 -
UIView
属于UIKit.framework
框架,负责渲染矩形区域的内容,为矩形区域添加动画,响应区域的触摸事件,还涉及布局和管理一个或多个子视图
CALayer
简介
CALayer
包含在QuartzCore
框架中,这是一个跨平台的框架,既可以用在iOS中又可以用在Mac OS X中。在使用Core Animation
开发动画的本质就是将CALayer
中的内容转化为位图从而供硬件操作,所以要熟练掌握动画操作必须先来熟悉CALayer。
作用
-
CALayer
是承载绘制内容的对象 -
CALayer
可以用来实现动画效果
总结
区别联系
UIWindow
是UIView
的子类,UIWindow
承载UIView
的显示,UIView
的显示又依赖于CALayer
的绘制,但是这仅仅是显示的关系,但是当程序要完成事件的响应的话,需要UIWindow
将事件传递给UIView
进行响应,CALayer
是不具有响应功能的。同时CALayer
负责一些动画的完成。
网友评论