iOS 画板--UIBezierPath和CAShapeLayer实现

iOS 画板--UIBezierPath和CAShapeLayer实现

最近在做的项目中,用到画板的功能,现在项目告一段落,将在项目中使用的方式记录下,方便以后查看。

1.新建类,继承与UIView

2.实现文件

iOS 画板--UIBezierPath和CAShapeLayer实现_第1张图片

3.初始化方法

iOS 画板--UIBezierPath和CAShapeLayer实现_第2张图片

4.响应用户的触摸事件,保存触摸点及画轨迹

iOS 画板--UIBezierPath和CAShapeLayer实现_第3张图片

到这里已经将画板的功能实现。现在来分析下具体的实现原理:

1.初始化view的时候添加CAShapeLayer对象,用于呈现绘制的路径;

2.用UIBezierPath对象记录用户的触摸点,将每个点连接起来,用于生成路径;

3.将2步骤中的路径赋值給1中初始化的CAShapeLayer对象,将2中的路径显示出来;

使用该种方式时相对于重写UIView的drawRect方法实现绘制方式会节省很大的内存空间。具体的原因情看以下链接:http://blog.csdn.net/jijiji000111/article/details/50480405。

你可能感兴趣的:(iOS 画板--UIBezierPath和CAShapeLayer实现)