iOS绘制虚线方式总结

ios画虚线 - (UIImage *)drawLineOfDashByImageView:(UIImageView *)imageView color:(UIColor *)color { UIGraphicsBeginImageContext(imageView.frame.size); [imageView.image drawInRect:CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height)]; 阅读详情

原文链接:【iOS绘制虚线方式总结】

一、iOS中绘制虚线常见的几种方式:

1、重写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);
}
2、采用CAShapeLayer方式绘制虚线
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
[shapeLayer setBounds:self.bounds];
[shapeLayer setPosition:CGPointMake(self.frame.size.width / 2, 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];

关于这种方式已经有人整理出了一个非常好用的类方法,具体请参看文章末尾的参考博客地址:“iOS绘制虚线方法【原创】”一文,此方法使用起来非常简单方便。

注意:下面非完整代码,如有需要,请自行前往该博文中直接复制使用。

/**
 ** 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];

}
3、经济实惠型:采用贴图的方式绘制虚线(需要设计师切图配合)
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];

在以上这几种方式中我个人比较偏爱最后一种,简单粗暴。

以上内容部分来自于网络,本着分享的学习精神,如有涉及侵权问题,请及时告知。欢迎一起探讨学习,有问题请留言。我将会在第一时间对你的问题进行回复。如需转载,请注明出处。

参考博客地址:

1、iOS绘制虚线方法【原创】

IOS绘制虚线的方法总结 给大家分享了iOS中绘制虚线常见的几种方式,大家可以根据自己的需求进行选择哪种方法,下面跟着小编来一起看看吧。 立即下载

相关推荐

ChatBI告别“NL2SQL依赖症”!从准确率50%到90%,3大技术路线+4个企业案例拆解核心玩法

摘要: ChatBI通过自然语言交互实现数据民主化,其核心是“语义理解+数据执行+知识沉淀”的全链路能力,而非单一的NL2SQL技术。行业采用三大技术路线提升准确率:专有知识库(提升30%)、指标标签语义层(准确率85%)、JSON中间层(多轮对话提升25%)。数据执行方案包括NL2SQL、NL2API等,需结合场景选择。企业落地需解决四大痛点:跨表查询准确率低(引入拓扑图)、模糊查询(用户干预机制)、响应慢(预计算缓存)、多轮对话(上下文池)。Spring AI Alibaba提供轻量级集成方案,助力企业

weixin_52610848的博客 1651

iOS 绘制虚线的三种方法

总结了三种绘制虚线的方法: 方法一:通过Quartz 2D 在 UIView drawRect:方法进行绘制虚线 - (void)drawRect:(CGRect)rect { // 可以通过 setNeedsDisplay 方法调用 drawRect: // Drawing code CGContextRef context =UIGraphicsGetCurrentContext(

Ashimar_ZHZ的博客 1万+

贝加莱Automation Studio 4.10安装保姆级教程:从官网下载到解决.Net 3.5报错

本文提供贝加莱Automation Studio 4.10的详细安装教程,涵盖从官网下载到解决.Net 3.5报错的全过程。特别针对工业自动化开发环境中常见的.Net Framework 3.5安装问题,提供多种经过验证的解决方案,包括控制面板安装、DISM命令离线安装和手动下载安装包等方法,帮助工程师顺利完成PLC开发环境的搭建。

weixin_30955617的博客 709

iOS 进阶UI设计之部分圆角、单边阴影、虚线边框、绘制虚线

当App做到一定程度时,UI设计就是要锱铢必较了,圆润丝滑的视觉设计会让人感觉更舒服,笔者总结了常见的几种UI设计的绘制方案,本质上就是在图层上进行一定的绘制。 部分圆角: 注意:iOS 11.0以下的系统,如果是自动布局,绘制之前必须让父类调用 layoutIfNeeded,确定好view的Frame。 /// 绘制部分圆角 /// @param rectCorner 圆角样式 /// @param radii 圆角 - (void)drawCornerWith:(UIRectCorner)rectCor

Andy Coding 3716

6 赫斯曼网管软件industrial hivision用户管理

文章目录前言一、打开Industrial HiVision服务器二、在用户管理界面添加策略三、使用可选策略四、接受策略总结 前言 安装 Industrial HiVision 后,所有人都能广泛使用程序。安全起见,请进行相 关配置,对访问权限进行限制。 本文主要介绍用户管理基于某种角色模型。在访问角色中定义角色名称,通过分配访问权限给这些角色分配角色功能。例如,给管理人员自然要分配可用的权限,而观察员尽管可以登录,但没有能够进行更改的权限。Industrial HiVision 提供以下访问角色: 

t98746194的博客 1378

Claude Code + 自定义模型体验

AI 编程工具的发展突飞猛进:Cursor 横空出世,推出了“Agent 模式”;新竞争者如 Windsurf 也纷纷加入战局。几乎所有产品都开始转向“代理式(agentic)”开发模式——不再依赖单次 LLM 响应进行补全,而是让大模型在一个循环中调用各种工具,来完成更复杂的任务:分析代码库上下文、读取网页与文档、编译程序、运行测试、修复失败构建或测试、不断迭代等。

西京刀客 5790

iOS学习- OC绘制虚线

OC绘制虚线

qq_43441647的博客 865

峰值电流模式CCM BUCK的传递函数推导

电流内环闭环传递函数: Gci(s)=i^L(s)v^comp(s)=FmGid(s)1+KRiHe(s)FmGid(s)=1Ri11+s[mcL+(0.5VIN−Vo)RiVINRifSW]+s21(πfSW)2 G_{ci}(s)=\frac{\hat i_{L}(s)}{\hat v_{comp}(s)}=\frac {F_mG_{id}(s)}{1+KR_iH_e(s)F_mG_{id}(s)}=\frac{1}{R_i}\frac{1}{1+s[\frac{m_cL+(0.5V_{IN}-V_o)

c007106333的博客 2353

iOS 通过 CAShapeLayer 方式绘制虚线

/** * 通过 CAShapeLayer 方式绘制虚线 * * param lineView: 需要绘制成虚线的view * param lineLength: 虚线的宽度 * param lineSpacing: 虚线的间距 * param lineColor: 虚线的颜色 * param lineDirection 虚线的方向 YES 为水平方向, NO 为垂直方向 **/ - (void)drawLineOfDashByCASh.

xu360172788的博客 1044

Qt实现思维导图功能5『纵向分布模式』

思维导图纵向分布模式:模式一

浮生流年的博客 1055

引以为戒:一个“看不见”的空格,导致上下文超限——从 `llama-server` 错误说起

文章摘要: 本文分享了Qwen工程团队在部署llama-server时遇到的参数失效问题:明明设置了-c 32768上下文参数,却仍报错"超出4096 tokens限制"。经排查发现,问题根源是批处理脚本中续行符^后存在两个空格,导致参数被忽略。文章详细解析了Windows批处理中^的严格语法规则(必须紧贴前字符),对比了错误与正确写法的差异,并给出4条实用建议:使用编辑器显示空白字符、调试时关闭@echo off、预检完整命令、优先单行命令。最后强调在AI系统部署中,此类"隐

刘一说的IT专栏 533

iOS 画虚线方法总结

原文链接:http://www.jianshu.com/p/d64b0abef349 提前总结: 方法一:定制一个view,在drawrect中绘制虚线 方法二:创建一个imageView,用绘图方法返回一个虚线的image 方法三:在CAShapeLayer上绘制虚线,添加到目标view的层上 方法四:用资源图 前言 好几天都没有写简书了,主要是最近一直在做原型

fallenink的专栏 1803

Halcon那些事:Halcon缺陷检测检测印刷数字完整性

创建模板 create_shape_model模板匹配 find_shape_model。

十多年IT经验,专注机器视觉,智能制造半导体行业 764

android虚线平铺,iOS 画虚线方法总结

释放双眼,带上耳机,听听看~!重写drawRect方法- (void)drawRect:(CGRect)rect{[super drawRect:rect];CGContextRef currentContext = UIGraphicsGetCurrentContext();//设置虚线颜色CGContextSetStrokeColorWithColor(currentContext, [UIC...

weixin_35943776的博客 255

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

swift-绘制虚线

参考:http://www.jianshu.com/p/f9009968c735 效果图: 代码: //绘制虚线边框 func addDashdeBorderLayer(byView view:UIView, color:UIColor,lineWidth width:CGF...

chengqi6534的博客 427

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Quartz2D简单绘制之直线&虚线

1、画直线和虚线 // 画线CGContextRef contextRef = UIGraphicsGetCurrentContext();// 线边冒的三种类型// CGLineCap. kCGLineCapButt, kCGLineCapRound, kCGLineCapSquareCGLineCap lineCap = kCGLineCapButt;// 线段拐角出设置的三种类...

weixin_33810302的博客 95

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

CGContextRef 画直线、画虚线

CGContextRef 绘画操作

qq_31901919的博客 1086

IOS开发基础知识--碎片47

1:解决ios静态库中的类别(category)在工程中不能使用 解决方法为:找到 target 的图标,更改其 Other Linker Flags 为: -all_load 或 -force_load-force_load,后跟随一个文件位置,可以更精确地加载所需文件。 简单点说就是,Objective-C 的动态特性使得需要,为链接器添加一个标签(设置 Other Linker Flags...

weixin_33881041的博客 85

iOS工作笔记(十五)

1.使用MJRefresh上拉加载的小细节 MJRefreshBackGifFooter *footer = [MJRefreshBackGifFooter footerWithRefreshingBlock:^{ [_searchResultView.mj_footer endRefreshing]; //加载新内容 [self loadMoreItemLis...

weixin_30617695的博客 84

小程序笔记(三)(常用CSS样式)

整理小程序部分常用的css样式

张豆豆的博客 871

autocad ios 虚线_CAD交互绘制虚线(com接口)

用户可以在控件视区任意位置绘制直线。主要用到函数说明:_DMxDrawX::DrawLine绘制一个直线。详细说明如下:参数说明DOUBLE dX1直线的开始点x坐标DOUBLE dY1直线的开始点y坐标DOUBLE dX2直线的结束点x坐标DOUBLE dY2直线的结束点y坐标IMxDrawCustomEntity::Draw把实体绘制到图上。一般用于动态拖放时,在拖放结束时,绘制到图上。_DM...

weixin_39866265的博客 302

iOS画虚线

用UIVIew画,拖一个UIView,然后 /** * 通过 CAShapeLayer 方式绘制虚线 * * param lineView: 需要绘制成虚线的view * param lineLength: 虚线的宽度 * param lineSpacing: 虚线的间距 * param lineColor: 虚线的颜色 * param...

qq_36451221的博客 340
上一篇: 升级xcode7问题汇总(持续更新)
下一篇: 2015年终总结
Skinny Camel
博客等级 码龄15年 71粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值