| 版本 | 時間 |
|---|---|
| V1.0 | 2018.11.4 |
前言
正文
UIWindow
簡介
UIWindow是一種特殊的UIView,通常在一個App只有一個UIWindow,但是在一些特殊的需求(比如:在App中需要全局的懸浮控件等)在App中也可以有多個UIWindow。
作用
- 作為容器,承載App程序所要現(xiàn)實的所有視圖
- 傳遞觸摸消息到其他的UIView或者其他的對象
- 還可以與UIViewController協(xié)同共奏,以便與完成設(shè)備方向旋轉(zhuǎn)支持等
UIView
簡介
UIView是在UIKit.framework中定義的,UIView繼承于UIResponder,同時UIView是視圖的基類。
作用
-
UIView繼承于UIResponder,UIResponder是用來響應(yīng)事件的,也就是UIView是用來響應(yīng)事件的。 -
UIView屬于UIKit.framework框架,負責(zé)渲染矩形區(qū)域的內(nèi)容,為矩形區(qū)域添加動畫,響應(yīng)區(qū)域的觸摸事件,還涉及布局和管理一個或多個子視圖
CALayer
簡介
CALayer包含在QuartzCore框架中,這是一個跨平臺的框架,既可以用在iOS中又可以用在Mac OS X中。在使用Core Animation開發(fā)動畫的本質(zhì)就是將CALayer中的內(nèi)容轉(zhuǎn)化為位圖從而供硬件操作,所以要熟練掌握動畫操作必須先來熟悉CALayer。
作用
-
CALayer是承載繪制內(nèi)容的對象 -
CALayer可以用來實現(xiàn)動畫效果
總結(jié)
區(qū)別聯(lián)系
UIWindow是UIView的子類,UIWindow承載UIView的顯示,UIView的顯示又依賴于CALayer的繪制,但是這僅僅是顯示的關(guān)系,但是當(dāng)程序要完成事件的響應(yīng)的話,需要UIWindow將事件傳遞給UIView進行響應(yīng),CALayer是不具有響應(yīng)功能的。同時CALayer負責(zé)一些動畫的完成。