画虚线(- - -)
var context :CGContextRef?
context = UIGraphicsGetCurrentContext()
CGContextSetLineWidth(context!, self.linewidth)
// 画虚线的数组(一个实线一个虚线)
CGContextSetStrokeColorWithColor(context, UIColor.whiteColor().CGColor!)
CGContextSetLineDash(context, 0, [3.0,1], 2);
CGContextMoveToPoint(context, 0.0, self.bounds.height/2)
CGContextAddLineToPoint(context, self.bounds.size.width, self.bounds.height/2)
CGContextStrokePath(context)
动态划线
// 创建贝塞尔路径~
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointFromString([dotArr objectAtIndex:0])];
for(int i= 1;i<numberOfPoints;i++){
[path addLineToPoint:CGPointFromString([dotArr objectAtIndex:i])];
}
//路径 闭合
// [path closePath];
// [path fill];
// 创建layer并设置属性
CAShapeLayer *pathLayer = [CAShapeLayer layer];
pathLayer.frame = self.bounds;
//划线的颜色
pathLayer.strokeColor = [[UIColor redColor] CGColor];
pathLayer.fillColor = [[UIColor greenColor] CGColor];
pathLayer.autoreverses = NO;
pathLayer.lineWidth = 3.0f;
pathLayer.lineJoin = kCALineJoinBevel;
[self.layer addSublayer:pathLayer];
// 关联layer和贝塞尔路径
pathLayer.path = path.CGPath;
// 创建Animation
CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
pathAnimation.duration = 5.0;
pathAnimation.fromValue = [NSNumber numberWithFloat:0.0f];
pathAnimation.toValue = [NSNumber numberWithFloat:1.0f];
// 设置layer的animation
[pathLayer addAnimation:pathAnimation forKey:@"strokeEnd"];