iOS核心图形

1.核心图形在哪里

iOS核心图形_第1张图片
核心图形.jpeg

CoreGraphic 核心图形,又被称为 Quartz 2D

  • 2D 绘图引擎 ,同时适用于iOS tvOS和macOS
  • 各个分辨率和不同设备通用

2.核心图形的主要的类

个人理解作为一个和设备,分辨率,平台通用的绘图引擎,需要一个类抽象出不同的绘制目标,Graphics Contexts就是因此而建立的类。使用CoreGraphic进行绘图时,首先是创建或者获取图形上下文。
针对不同的绘图目标,有不同的获取或者创建图形上下文的方式。如Quartz 2D Programming Guide所说。有下面几种上下文。

  1. a View Graphics Context in iOS
  2. a Window Graphics Context
  3. a PDF Graphics Context
  4. Bitmap Graphics Context
    其中,Window Graphics Context用于mac系统,PDF Graphics Context用于在pdf文件中,暂时不是我的学习目标,我们只需要关注a View Graphics Context in iOSBitmap Graphics Context

a View Graphics Context in iOS

在iOS中要绘制图形到屏幕上,需要创建UIView对象,实现它的drawRect:方法,drawRect:方法将在视图显示或者内容更新的时候调用。不应该自己调用drawRect:方法,如果需要触发系统调用,可以使用setNeedsDisplay来标记让系统调用 drawRect:

  • 将在视图显示
    调用时机如下
ViewController ViewWillAppear
View drawRect
ViewController ViewDidAppear
  • 内容更新


    iOS核心图形_第2张图片
    屏幕快照 2018-03-23 上午10.21.56.png

在调用drawRect:方法之前,系统会做一些图形环境配置工作让你的代码可以立刻执行绘图工作,其中包括系统自动创建一个图形上下文。我们只需要通过UIKit的方法UIGraphicsGetCurrentContext来获取图形上下文就可以了

  • 绘制能力

Bitmap Graphics Context

你可能感兴趣的:(iOS核心图形)