项目场景:

国庆回来有小半个月没写代码了,生疏~国庆快乐啊!

今天浅浅的UI验收,提了一个bug说我没画一个输入框背景的边框虚线,真的3Q了,其实吧我司一直用的摹客这个平台,浅浅吐槽一下,当选中某个控件的时候,这的确是实线啊,小王无语

未选中状态

选中状态

图示是我放大172%倍看出来的,摹客网编辑、看到请优化一下,感谢。

当然了,这不是问题主要原因。


问题描述

最常规的给View添加虚线边框,但是不显示

    UIBezierPath *maskPath=[[UIBezierPath bezierPathWithRoundedRect:self.messageTf.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(10.5*FTGetScreenScale(), 10.5*FTGetScreenScale())] bezierPathByReversingPath];CAShapeLayer *border = [CAShapeLayer layer];//虚线的颜色border.strokeColor = [UIColor colorWithRed:151/255.0 green:151/255.0 blue:151/255.0 alpha:0.54].CGColor;border.masksToBounds = YES;//填充的颜色border.fillColor = [UIColor clearColor].CGColor;//设置路径border.path = maskPath.CGPath;border.frame = self.messageTf.bounds;border.lineCap = @"square";//虚线的宽度border.lineWidth = 1.f;//虚线的间隔border.lineDashPattern = @[@4, @4];[self.messageTf.layer addSublayer:border];

原因分析:

我在viewDidLoad 刷新UI用的mas定义self.messageTf控件,此时的长宽为0

原本以为是self.messageTf.bounds没有用self.messageTf.frame,一样无效

使用Masonryframe跟bounds为0的情况


解决方案:

在添加虚线前,直接刷新视图,以获得视图的长和宽。

[self.view layoutIfNeeded];

同理,如果bounds为0的情况下,直接刷新一下布局就ok了。

iOS给View添加虚线边框不显示相关推荐

  1. iOS开发 给view绘制虚线边框

    给view绘制虚线边框 - (void)layoutBorderToLayer:(UIView *)view {CAShapeLayer *border = [CAShapeLayer layer]; ...

  2. ios view添加上边框_iOS开发之如何给View添加指定位置的边框线详解

    本文主要给大家介绍了关于iOS如何给View添加指定位置边框线的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 略微封装了一下,给View添加指定位置的边框线,其中位移枚举 ...

  3. 为view设置虚线边框

    extension UIView { //设置虚线边框 func setDashiedBorder() {let borderLayer = CAShapeLayer()borderLayer.bou ...

  4. ios view添加上边框_让不懂编程的人爱上iPhone开发(2018秋iOS12+Swift4.2+Xcode10版)-16

    首先抱歉这最后一篇没有能赶上每天更新一篇的节奏,一个是因为最后完结篇的内容很多,另外是因为从上周五到现在感冒一直没好,影响了进度. 废话不多说,我们继续开始学习吧~ 恭喜你,你已经来到了本系列课程的最 ...

  5. ios view添加上边框_ios – UIView的圆顶角,并添加边框

    掩模层不被绘制,仅用于计算掩模.尝试: -(void)roundCorners:(UIRectCorner)corners radius:(CGFloat)radius { CGRect bounds ...

  6. Chart.js 堆叠柱状图点击更换背景色以及加虚线边框

    这篇文章本应该昨天写出来的,只是昨天在本地demo测试的时候发现一个bug,当时差点要到Chart.js的github上添加issue了. Demo需求: 在柱状体click之后,当前堆叠柱状体更换背 ...

  7. ios 绘制线框_iOS开发 给View添加指定位置的边框线

    略微封装了一下,给View添加指定位置的边框线,其中位移枚举的使用询问了哥们儿,总算搞定: 封装一:直接封装成了一个方法 /// 边框类型(位移枚举) typedef NS_ENUM(NSIntege ...

  8. android TextView下划线,圆角边框,数逐字显示,虚线边框, 渐变色背景框, 阴影背景框

    长方形 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="h ...

  9. 给iOS项目中添加图片,并通过UIImageView引用和显示该UIImage图片

    [问题] 关于iOS/iPhone中的文件选择对话框,用于用户去选择图片等文件 过程中,问题转换为,需要给当前iOS项目中,添加一个图片. 类似于Windows开发中的资源文件,其中图片文件属于资源的 ...

最新文章

  1. JVM内存管理学习总结(一)
  2. java内存模型 原子性_Java内存模型JMM 高并发原子性可见性有序性简介 多线程中篇(十)...
  3. CRM Order confirmation form布局
  4. ImportError: No module named google.protobuf.internal
  5. 前端学习(2762):如何使用scss
  6. Nginx概述(1)----应用场景,出现原因,优点,组成
  7. tcl计算机语言,简述TCL语言的应用
  8. 使用Python自动下载Himawari-8(葵花8)数据产品——以AOD L3级日均数据和小时数据为例
  9. 苏州大学计算机专业考研报录比,【图片】18年苏州大学计算机872考研经验分享【苏州大学研究生吧】_百度贴吧...
  10. Java编程入门与应用 P85——例3-26 continue的使用——(循环录入Java课程的学生成绩,统计 分数大于80分(包括等于)的学生人数。)
  11. Win10微信打不开小程序,其他程序出现找不到HID.DLL的解决办法
  12. python猜字游戏算法设计_Python 制作一个猜字游戏
  13. 深度神经网络识别垃圾邮件
  14. 基于GPT-4的免费代码生成工具
  15. 非常漂亮的一款html引导页导航网站旋转头像变幻背景单页源码
  16. 分形吧matlab,使用matlab画分形图.pdf
  17. NYOJ-845-无主之地1-2013年11月3日00:08:18
  18. 设计需求分析方法与过程
  19. legacy服务器安装系统,支持UEFI和LEGACY的多系统安装U盘
  20. 统计学习方法---李航

热门文章

  1. 高分系统服务器,想买服务器,高分请懂服务器的朋友推一款服务器
  2. 字符串匹配算法:Sunday算法
  3. php获取QQ头像并显示的方法
  4. 扬尘噪声智能监测云平台
  5. 原子制造:物质科学的未来技术
  6. cadence SPB17.4 - allegro - 区域规则设置 - 以smd_pin_to_smd_pin为例
  7. 怎么看安装包是什么bit的_微信分付和支付分有什么区别 分付额度怎么看
  8. CAD动态块操作实例:距离乘数
  9. Android so库开发——Android Studio生成so库(一)
  10. 在word中使用Aurora插入Tex算法伪代码、表格和公式