作用:
1.裁剪图片
2.涂鸦/画板
3.手势解锁
4.报表:折线图/饼状图/柱状图
- 为了便于搭建美观的
UI
界面,iOS 提供了UIKit
框架,里面有各种各样的控件 - 利用
UIKit
框架提供的控件,拼拼凑凑,能搭建和实现一些简单、常见的UI
界面 - 但是,有些
UI
界面及其复杂、而且比较个性化,用普通的UI
控件无法实现,这时可以利用Quartz2D
技术将控件内部的结构画出来,自定义控件的样子 - 其实,
iOS
中大部分控件的内容都是通过Quartz2D
绘制出来的 - 因此,
Quartz2D
在iOS
开发中很重要的价值是:自定义View
(自定义UI
控件)
图形上下文:画画的时候有画板,图形上下文就是画板。
- 图形上下文(
Graphics Context
):是一个CGContextRef
类型的数据 - 图形上下文的作用
1.保存绘图信息,绘图状态(画线粗细,颜色)
2.决定绘制的输出目标(绘制到什么地方去?白纸?墙面?)类型不一样,输出目标不一样
3.相同的一套绘图序列,指定不同的Graphics Context
,就可以想相同的图像绘制到不同的目标
图形上下文 类型:
1.Bitmap Graphics Contenx
图片(位图上线文必须手动去开启,开启多大的上下文,生成的图片就有多大)2. PDF Graphics Contenx
3. Window Graphics Contenx
4.Layer Graphics Contenx
如何利用
Quartz2D
绘制东西到View
上?
- 首先,得有图形上下文,因为它能保存绘图信息,并且决定着绘制到什么地方去
- 其次,那个图形上下文必须跟
View
相关联,才能将内容绘制到View
上面
自定义
View
的步骤
1.新建一个类,继承自UIView
2.实现- (void)drawRect:(CGRect)rect
方法,(这个方法会自动生成一个图像上下文)然后在这个方法中取得跟当前View
相关联的图形上下文本
3.绘制相应的图像内容
4.利用图像上线将绘制的所有内容渲染显示到View
上面