iOS绘图的两种方式

2018-02-08  本文已影响25人  佚名_i

CAShapeLayer 属于 CoreAnimation框架 继承自CALayer
一个CAShapeLayer对象只能配合一个UIBezierPath对象,但是这个UIBezierPath实例可以添加UIBezierPath实例。UIBezierPath提供矢量路径,路径会闭环即使UIBezierPath不是一个闭环取消,这样就得到了一个shape。
UIView的[- drawRect:]方法是用CPU渲染的,而CAShaperLayer是使用GPU效率更高。

CAShapeLayer的属性:

UIBezierPath的属性和常用方法:

PaintCode生成的代码是基于[- UIVie drawRect:],不能直接用于CAShapeLayer中,这里可以设置UIBezierPath的线宽。

在CAShapeLayer中设置UIBezierPath的线宽不起作用,需要设置CAShapeLayer的线宽。和UIBezierPath的appendPath一样CAShapeLayer也可以addSublayer
小结一下这样类有: NSString,NSMutableArray,NSMutableData,UIView,UILayer,CALayer

参考链接:

UIBezierPath
CGAffineTransform-仿射矩阵的变换
iOS UIBezierPath(贝塞尔曲线)
UIBezierPath

上一篇下一篇

猜你喜欢

热点阅读