iOS 开发之绘制虚线
2017-05-06 11:10
435 查看
有时项目中页面设计遇到虚线…虚线怎么绘制呢?代码是这样的
绘制虚线代码示例——亲测!好用
#pragma mark - 绘制虚线具体方法 /** ** lineView: 需要绘制成虚线的view ** lineLength: 虚线的宽度 ** lineSpacing: 虚线的间距 ** lineColor: 虚线的颜色 **/ + (void)drawDashLine:(UIView *)lineView lineLength:(NSInteger)lineLength lineSpacing:(NSInteger)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]; [shapeLayer setStrokeColor:lineColor.CGColor]; // 设置虚线宽度 [shapeLayer setLineWidth:CGRectGetHeight(lineView.frame)]; [shapeLayer setLineJoin:kCALineJoinRound]; // 设置线宽,线间距 [shapeLayer setLineDashPattern:[NSArray arrayWithObjects:[NSNumber numberWithLong:lineLength], [NSNumber numberWithLong: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]; }
此方法可以作为 UIView 的拓展方法(Category)方便以后使用。
Example:
// 绘制红色虚线,宽度10,间距10,虚线高2 UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(20, 60, self.view.size.width -2 * 20, 2)]; [self.view addSubview:lineView]; [UIView drawDashLine:lineView lineLength:10 lineSpacing:10 lineColor:[UIColor grayColor]];
Result:
如下图显示:
相关文章推荐
- iOS开发-边线绘制控件及虚线绘制原理
- iOS 开发 绘制虚线
- iOS开发之在地图上绘制出你运动的轨迹
- iOS开发之在地图上绘制出你运行的轨迹
- ArcGIS Runtime SDK for iOS开发系列教程(5)——要素信息的绘制
- iOS开发之在地图上绘制出你运动的轨迹
- iOS开发图像处理--绘制图片上下颠倒
- iOS开发图像处理--绘制图片上下颠倒
- 路径设置IOS开发(82)之绘制矩形
- IOS开发---绘制线形图
- IOS开发---绘制饼图
- IOS开发(79)之绘制图像
- iOS开发之在地图上绘制出你运动的轨迹
- iOS开发之在地图上绘制出你运行的轨迹
- iOS开发之在地图上绘制出你运动的轨迹
- ios开发图形绘制
- iOS开发与OpenGL ES相关问题整理(2)- 绘制图片上下颠倒
- iOS开发应用中关于图形和绘制案例讲解--51CTO
- iOS开发之在地图上绘制出你运动的轨迹
- iOS开发之在地图上绘制出你运动的轨迹