简单说一下iOS的绘图机制。iOS的视图可以通过drawRect方法绘图,通过View的Layer(CALayer)图层来定制一个视图,每个layer展示一部分属性,然后叠加到一起就是一个视图。
iOS中绘图主要有以下两种方式:
1. iOS核心图形库:Core Graphics,缩写CG。主要通过核心图形库和UIKit进行封装,更贴近我们常操作的视图(UIView)和窗体(UIWindow)。Quartz 2D框架就是CG的一部分,是一个强大的二维图像绘制引擎。
2. OpenGL ES,经常用在游戏等需要对界面高频刷新和自由控制中,更贴近直接对屏幕的操控,可以作为视图机制的底层图形引擎。
下面用CGContextRef绘制了一个音频波形图,代码简单易读,先看一下效果图:
下面贴上代码:
ViewController:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@end
#import "ViewController.h"
#import "HWDrawView.h"
&