时间:2021-05-20
一、重写drawRect方法。
- (void)drawRect:(CGRect)rect{ [super drawRect:rect];CGContextRef currentContext = UIGraphicsGetCurrentContext();//设置虚线颜色 CGContextSetStrokeColorWithColor(currentContext, [UIColor BlackColor].CGColor); //设置虚线宽度 CGContextSetLineWidth(currentContext, 1); //设置虚线绘制起点 CGContextMoveToPoint(currentContext, 0, 0); //设置虚线绘制终点 CGContextAddLineToPoint(currentContext, self.frame.origin.x + self.frame.size.width, 0); //设置虚线排列的宽度间隔:下面的arr中的数字表示先绘制3个点再绘制1个点 CGFloat arr[] = {3,1}; //下面最后一个参数“2”代表排列的个数。 CGContextSetLineDash(currentContext, 0, arr, 2); CGContextDrawPath(currentContext, kCGPathStroke); }二、采用CAShapeLayer方式绘制虚线
CAShapeLayer *shapeLayer = [CAShapeLayer layer];[shapeLayer setBounds:self.bounds];[shapeLayer setPosition:CGPointMake(self.frame.size.width / 2.0, self.frame.size.height)];[shapeLayer setFillColor:[UIColor clearColor].CGColor];//设置虚线颜色shapeLayer setStrokeColor:[UIColor BlackColor].CGColor];//设置虚线宽度[shapeLayer setLineWidth:self.frame.size.height];[shapeLayer setLineJoin:kCALineJoinRound];//设置虚线的线宽及间距 [shapeLayer setLineDashPattern:[NSArray arrayWithObjects:[NSNumber numberWithInt:3], [NSNumber numberWithInt:1], nil]]; //创建虚线绘制路径 CGMutablePathRef path = CGPathCreateMutable(); //设置虚线绘制路径起点 CGPathMoveToPoint(path, NULL, 0, 0); //设置虚线绘制路径终点 CGPathAddLineToPoint(path, NULL, self.frame.size.width, 0); //设置虚线绘制路径 [shapeLayer setPath:path]; CGPathRelease(path); //添加虚线 [self.layer addSublayer:shapeLayer];关于这种方式已经有人整理出了一个非常好用的类方法,具体见下面这段代码,注意:下面非完整代码,如有需要,请自己百度搜索。
/** ** lineView: 需要绘制成虚线的view ** lineLength: 虚线的宽度 ** lineSpacing: 虚线的间距 ** lineColor: 虚线的颜色 **/ + (void)drawDashLine:(UIView *)lineView lineLength:(int)lineLength lineSpacing:(int)lineSpacing lineColor:(UIColor *)lineColor{ CAShapeLayer *shapeLayer = [CAShapeLayer layer]; ..... [shapeLayer setStrokeColor:lineColor.CGColor]; ...... [shapeLayer setLineDashPattern:[NSArray arrayWithObjects:[NSNumber numberWithInt:lineLength], [NSNumber numberWithInt:lineSpacing], nil]]; ...... [lineView.layer addSublayer:shapeLayer]; }三、经济实惠型:采用贴图的方式绘制虚线(需要设计师切图配合)
UIImageView *imgDashLineView =[[UIImageView alloc] initWithFrame:CGRectMake(15, 200, self.view.frame.size.width - 30, 1)];[imgDashLineView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"xuxian.png"]]];[self.view addSubview:imgDashLineView];总结
以上内容部分来自于网络,本着分享的学习精神,如有涉及侵权问题,请及时告知。以上就是这篇文章的全部内容,欢迎大家一起探讨学习,有问题请留言,小编将会尽快对你的问题进行回复。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Photoshop绘制虚线曲线的方法是: 1、首先绘制一条多维直线虚线,并先选中当前虚线路径。 2、接着选择“钢笔”的“添加锚点工具”,当钢笔尖出现“加号+
使用visio绘制流程图的时候,发现需要使用虚线,该怎么绘制虚线呢?下面我们就来看看visio绘制虚线的教程,请看下文详细的教程。软件名称:Microsoftv
画图工具想要画虚线,该怎么绘制虚线呢?想摸我们就来看看画图工具画虚线的两种方法。软件名称:xp画图工具(xp自带的画图工具)绿色单文件版软件大小:135KB更新
(一)设计中实现虚线总结以下photoshop画虚线的几种方法(只讨论直线):(1)使用画笔—点击“画笔笔尖形状”,调整&l
使用WPSOffice工具时,可以绘制一个封闭的虚线边框立方体效果。那么,该如何自定义设置呢?下面我们就来看看使用wps绘制虚线正方体的技巧。软件名称:wpso