一、CAShapeLayer
CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形
使用CAShapeLayer 绘制一个矩形
let layer = CAShapeLayer()
layer.frame = CGRectMake(110, 100, 150, 100)
layer.backgroundColor = UIColor.blackColor().CGColor
view.layer.addSublayer(layer)
CAShapeLayer 画图时的动画改变
strokeEnd、strokeStart和lineWidth 三个属性,可以控制划线时具有动画效果。
二、UIBezierPath
CAShapeLayer 有一个神奇的属性 path 用这个属性配合上 UIBezierPath 这个类就可以达到超神的效果
2.1、CAShapeLayer 的两个重要颜色属性
fillColor : Layer 的填充色
layer.fillColor = UIColor.clearColor().
CGColor
strokeColor: Layer 的边框色
layer.strokeColor = UIColor.blackColor().CGColor
2.2、CAShapeLayer 和
UIBezierPath配合划取线let path = UIBezierPath(arcCenter: view.center, radius: radius, startAngle: startAngle, endAngle: endAngle, clockwise:
true
)
let layer = CAShapeLayer()
layer.path = path.CGPath
layer.fillColor = UIColor.clearColor().CGColor
layer.strokeColor = UIColor.blackColor().CGColor