1.核心图形在哪里
核心图形.jpegCoreGraphic
核心图形,又被称为Quartz 2D
- 2D 绘图引擎 ,同时适用于iOS tvOS和macOS
- 各个分辨率和不同设备通用
2.核心图形的主要的类
个人理解作为一个和设备,分辨率,平台通用的绘图引擎,需要一个类抽象出不同的绘制目标,Graphics Contexts就是因此而建立的类。使用CoreGraphic进行绘图时,首先是创建或者获取图形上下文。
针对不同的绘图目标,有不同的获取或者创建图形上下文的方式。如Quartz 2D Programming Guide
所说。有下面几种上下文。
a View Graphics Context in iOS
a Window Graphics Context
a PDF Graphics Context
-
Bitmap Graphics Context
其中,Window Graphics Context用于mac系统,PDF Graphics Context用于在pdf文件中,暂时不是我的学习目标,我们只需要关注a View Graphics Context in iOS
和Bitmap Graphics Context
a View Graphics Context in iOS
在iOS中要绘制图形到屏幕上,需要创建UIView对象,实现它的drawRect:
方法,drawRect:
方法将在视图显示或者内容更新的时候调用。不应该自己调用drawRect:
方法,如果需要触发系统调用,可以使用setNeedsDisplay
来标记让系统调用 drawRect:
- 将在视图显示
调用时机如下
ViewController ViewWillAppear
View drawRect
ViewController ViewDidAppear
-
内容更新
屏幕快照 2018-03-23 上午10.21.56.png
在调用drawRect:
方法之前,系统会做一些图形环境配置工作让你的代码可以立刻执行绘图工作,其中包括系统自动创建一个图形上下文。我们只需要通过UIKit的方法UIGraphicsGetCurrentContext
来获取图形上下文就可以了
- 绘制能力
网友评论