Key-value observing
是一种机制,允许对象在其他对象的指定属性发生更改时得到通知。它对于应用程序中 模型层 和 控制器层 之间的通信特别有用。
Key-Value Coding
(简称KVC
)是由 NSKeyValueCoding
非正式协议启用的一种机制,对象采用这种机制来提供对 其属性的间接访问。
当对象符合Key-Value Coding
标准时,可以通过简洁、统一的 消息传递接口 通过 字符串参数 访问其属性。这种间接访问机制补充了实例变量及其关联的访问器方法提供的直接访问。
1 | class UIBezierPath : NSObject |
UIBezierPath
是由直线和曲线线段组成的路径,可以在自定义视图中渲染该路径。它属于 UIKit
框架。
UIView
是所有视图的根类,定义了所有视图的公共行为,属于 UIKit
框架。
UIView
是App界面的基本构件块,它在屏幕上定义了一个矩形区域,并处理该区域中的绘图和触摸事件,是用户和App的主要交互方式。
Core Animation 是 iOS
和 macOS
上用于 图形渲染 和 动画 基础库,Core Animation
位于 AppKit
和 UIKit
之下,并紧密集成到Cocoa
和 Cocoa Touch
的 视图 工作流程中。
CALayer
继承自 NSObject
,CALayer
是在3D空间中的2D曲面,是 Core Animation
的核心。它提供了 绘图 和 动画 的基础。
与 UIView
一样,CALayer
管理几何图形(如:位置,大小和变换)、内容和表面的视觉属性(如:背景颜色,边框和阴影);与 UIView
不同的是,CALayer
不定义自己的外观,仅管理位图周围的状态信息。位图可以是视图本身绘图的结果,也可以是您指定的固定图像的结果。
设备(显示器、打印机、扫描仪、照相机)对待颜色的方式不同。每个设备都有自己的颜色范围,设备可以准确的生成这些颜色。在一台设备上产生的颜色可能无法在另一台设备上产生。
Quartz中的颜色由相应颜色空间的一组值表示。Alpha是Graphics States(图形状态)的参数,Quartz使用它来确定如何将新绘制的对象组合到现有页面。
Core Graphics,也称为 Quartz 2D
,是可用于iOS,tvOS和macOS应用程序开发的高级二维绘图引擎。只要有可能,Quartz 2D就会充分利用图形硬件(Graphics hardware)的能力。
Core Graphics
是基于 Quartz advanced drawing engine
(Quartz高级绘图引擎),它提供了低层次的(low-level)、轻量级的2D渲染(lightweight 2D rendering ),具有无与伦比的输出保真度。
Quartz 2D
与分辨率和设备无关,它充分利用了图形硬件的能力。