iOS 绘制虚线

作者: MMOTE | 来源:发表于2016-09-21 14:33 被阅读0次

/**

** lineView:       需要绘制成虚线的view

** lineLength:     虚线的宽度

** lineSpacing:    虚线的间距

** lineColor:      虚线的颜色

**/

- (void)drawDashLine:(UIView *)lineView lineLength:(int)lineLength lineSpacing:(int)lineSpacing lineColor:(UIColor *)lineColor

{

CAShapeLayer *shapeLayer = [CAShapeLayer layer];

[shapeLayer setBounds:lineView.bounds];

[shapeLayer setPosition:CGPointMake(CGRectGetWidth(lineView.frame) / 2, CGRectGetHeight(lineView.frame))];

[shapeLayer setFillColor:[UIColor clearColor].CGColor];

//  设置虚线颜色为blackColor

[shapeLayer setStrokeColor:lineColor.CGColor];

//  设置虚线宽度

[shapeLayer setLineWidth:CGRectGetHeight(lineView.frame)];

[shapeLayer setLineJoin:kCALineJoinRound];

//  设置线宽,线间距

[shapeLayer setLineDashPattern:[NSArray arrayWithObjects:[NSNumber numberWithInt:lineLength], [NSNumber numberWithInt:lineSpacing], nil]];

//  设置路径

CGMutablePathRef path = CGPathCreateMutable();

CGPathMoveToPoint(path, NULL, 0, 0);

CGPathAddLineToPoint(path, NULL, CGRectGetWidth(lineView.frame), 0);

[shapeLayer setPath:path];

CGPathRelease(path);

//  把绘制好的虚线添加上来

[lineView.layer addSublayer:shapeLayer];

}

相关文章

网友评论

    本文标题:iOS 绘制虚线

    本文链接:https://www.haomeiwen.com/subject/hajaettx.html