美文网首页
iOS核心图形

iOS核心图形

作者: dc630f46ee2d | 来源:发表于2018-05-06 16:57 被阅读0次

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
  • 内容更新


    屏幕快照 2018-03-23 上午10.21.56.png

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

  • 绘制能力

Bitmap Graphics Context

相关文章

网友评论

      本文标题:iOS核心图形

      本文链接:https://www.haomeiwen.com/subject/dsrvqftx.html