画实线
@implementation UIView (Drawing)
-(CAShapeLayer *)drawLineFromPoint:(CGPoint)p1 toPoint:(CGPoint)p2 width:(CGFloat)width color:(UIColor *)color
{
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:p1];
[path addLineToPoint:p2];
CAShapeLayer *layer = [CAShapeLayer layer];
layer.lineWidth = width;
layer.strokeColor = color.CGColor;
layer.path = path.CGPath;
[self.layer addSublayer:layer];
return layer;
}
画虚线
- (CAShapeLayer*)dashLineFromPoint:(CGPoint)p1 toPoint:(CGPoint)p2 realLinePoint:(CGFloat)realLinePoint dashLinePoint:(CGFloat)dashLinePoint color:(UIColor*)color lineWidth:(CGFloat)lineWidth
{
//realLinePoint 单位实线长度 dashLinePoint 单位间隙长度
CAShapeLayer *layer = [self drawLineFromPoint:p1 toPoint:p2 width:lineWidth color:color];
layer.lineDashPattern = @[[NSNumber numberWithInteger:realLinePoint],[NSNumber numberWithInteger:dashLinePoint]];
return layer;
}