在swift中使用Quartz 2D
在iOS中,绘图技术主要有UIKit、Quartz 2D、Core Animation和OpenGL ES。其中,Core Animation提供动画实现技术,OpenGL ES是针对OpenGL嵌入式设备实现的简化版本,它可以绘制高性能的2D和3D图形。UIKit是高级别的图形接口,它的API是基于Object-C和swift,它能够实现绘图、文字、动画和图像等内容。Quartz 2D是iOS和Mac OS环境下的2D绘图引擎。
填充矩形
我们可以自定义一个view,并在draw(_ rect: CGRect)
中实现:
override func draw(_ rect: CGRect) {
//为当前的图形上下文设置要填充颜色
UIColor.brown.setFill()
//填充颜色
UIRectFill(rect)
}
现在,如果我们希望在该view中添加一个矩形,并且矩形已蓝色描边:
override func draw(_ rect: CGRect) {
//为当前的图形上下文设置要填充颜色
UIColor.brown.setFill()
//填充颜色
UIRectFill(rect)
// 设置矩形的frame
let frame = CGRect(x: 10, y: 10, width: 100, height: 200)
//设置边框的颜色(如果不设置,默认是黑色)
UIColor.blue.setStroke()
//绘制矩形
UIRectFrame(frame)
}
绘制图像和文本
我们知道,在iOS中,我们可以通过UIImageView和UILabel两个标准控件来实现图像和文字的绘制。实际上,我们呢也可以通过Image和String来实现同样的功能。