iOS学习笔记之UIWindow、UIView和CALayer之间的联系和区别

版本 时间
V1.0 2018.11.4

前言

正文

UIWindow

简介

UIWindow是一种特殊的UIView,通常在一个App只有一个UIWindow,但是在一些特殊的需求(比如:在App中需要全局的悬浮控件等)在App中也可以有多个UIWindow

作用

  • 作为容器,承载App程序所要现实的所有视图
  • 传递触摸消息到其他的UIView或者其他的对象
  • 还可以与UIViewController协同共奏,以便与完成设备方向旋转支持等

UIView

简介

UIView是在UIKit.framework中定义的,UIView继承于UIResponder,同时UIView是视图的基类。

作用

  • UIView继承于UIResponderUIResponder是用来响应事件的,也就是UIView是用来响应事件的。
  • UIView属于UIKit.framework框架,负责渲染矩形区域的内容,为矩形区域添加动画,响应区域的触摸事件,还涉及布局和管理一个或多个子视图

CALayer

简介

CALayer包含在QuartzCore框架中,这是一个跨平台的框架,既可以用在iOS中又可以用在Mac OS X中。在使用Core Animation开发动画的本质就是将CALayer中的内容转化为位图从而供硬件操作,所以要熟练掌握动画操作必须先来熟悉CALayer。

作用

  • CALayer是承载绘制内容的对象
  • CALayer可以用来实现动画效果

总结

区别联系

UIWindowUIView的子类,UIWindow承载UIView的显示,UIView的显示又依赖于CALayer的绘制,但是这仅仅是显示的关系,但是当程序要完成事件的响应的话,需要UIWindow将事件传递给UIView进行响应,CALayer是不具有响应功能的。同时CALayer负责一些动画的完成。

你可能感兴趣的:(iOS学习笔记之UIWindow、UIView和CALayer之间的联系和区别)