iOS 设置自定义间距的文字下划线
网上看到很多用NSAttributedString的NSUnderlineStyleAttributeName来设置的,方法很简便,网上也很多,就不发了。
效果如下:
下划线和文字没有间隔,贴在一起的。
感觉不好看,而且后面项目还有一些需要用下划线的按钮,所以写了一个通用的UIButton子类,UnderlineTextButton
重写drawRect方法,用coregraphics的方法绘制下划线:
- (void)drawRect:(CGRect)rect {// Drawing codeCGRect titleFrame = self.titleLabel.frame;CGContextRef ctx = UIGraphicsGetCurrentContext();CGContextSetStrokeColorWithColor(ctx, self.underLineColor.CGColor);CGContextSetLineWidth(ctx, 1.0f);CGContextMoveToPoint(ctx, CGRectGetMinX(titleFrame), CGRectGetMaxY(titleFrame));CGContextAddLineToPoint(ctx, CGRectGetMaxX(titleFrame), CGRectGetMaxY(titleFrame));CGContextStrokePath(ctx);[super drawRect:rect];}
下划线一般和button的title等宽,在title的下面,有不同设计可以自行调整上面方法的Point位置
自定义下划线颜色属性 underLineColor,因为大部分时间与文本颜色一致,所以重写get方法
- (UIColor *)underLineColor{if (!_underLineColor) {_underLineColor = self.titleLabel.textColor;}return _underLineColor;
}
要用到时创建该子类即可
UnderlineTextButton *btn = [UnderlineTextButton buttonWithType:UIButtonTypeCustom];
btn.underLineColor = [UIColor grayColor];//不设置时下划线默认为和文字颜色相同
iOS 设置自定义间距的文字下划线相关推荐
- html字体下划线下移,CSS下划线与文字间距距离设置(CSS文字下划线距离设置)
CSS设置下划线与文字间距距离(CSS文字下划线距离设置) css下划线与文字上下距离设置,文字字体下划线样式技巧篇,如何改变文字与下划线距离间距?这里CSS5为大家介绍通过下边框border-bot ...
- php css下划线,CSS文字下划线的设置方法介绍
在整体网页设计中,最容易识别的风格仍然是带有下划线的蓝色文字,这大部分都是链接到另一个网页中.链接元素默认具有样式,蓝色是默认模式下的唯一颜色.即使现在的链接元素可能不再需要加下划线,文本下的行不仅仅 ...
- ios 按钮文字下划线_iOS实现一段文字中部分有下划线,并且可以点击
项目中有一个需求就是实现一段文字中有几个特殊的字符可以有下划线,并且可以进行点击. 首先可以实现下划线效果,首先想到的是UILabel和UITextView控件的 NSMutableAttribute ...
- php css下划线,css下划线如何设置?css设置文字下划线的方法介绍
在网页中默认情况下文字字体是没有下划线样式的,但是有时候我们在网页中会看到不是链接的文字下面会有一行下划线,那么这个下划线样式是怎么实现的呢?本篇文章就来给大家介绍一下css设置文字下划线的方法,接下 ...
- css里给文字加下划线代码,css添加文字下划线样式的方法
css添加文字下划线样式的方法 发布时间:2020-08-31 13:54:27 来源:亿速云 阅读:65 作者:小新 这篇文章将为大家详细讲解有关css添加文字下划线样式的方法,小编觉得挺实用的,因 ...
- Unity的UGUI使用Text和Image实现文字下划线
Unity的UGUI使用Text和Image实现文字下划线 引子效果 设置 原文链接 引子效果 写需求的时候搜了一些文字加下划线的方法,UGUI的Text,大都需要写一堆代码来封装Text,比较麻烦. ...
- php css下划线,css如何添加文字下划线样式?(代码详解)
css如何添加文字下划线样式?本篇文章就给大家介绍css添加文字下划线样式的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 首先我们来了解一下css添加文字下划线样式的方法有哪 ...
- 如何让文字下划线border-bottom和文字的长度一致
如何让文字下划线border-bottom和 文字的长度一致 给其设置有border-bottom增加 display:inline-block样式 display:inline-block它会根据内 ...
- 文字下划线效果(标题hover效果)
文字下划线效果(标题hover效果) <!-- html结构 --> <div> <a href="javascript:void(0);" clas ...
最新文章
- Mysql5.6主从复制-基于binlog
- Thrift在Windows及Linux平台下的安装和使用示例
- mysql event 学习
- c# treeView 取消选择事件
- Windows环境下MySQL 5.7的安装、配置与卸载
- assign, retain, copy, weak, strong
- JAVA反射机制及其原理实现
- web表单设计:点石成金_设计复杂的用户表单:12个UX最佳实践
- 阿里巴巴指东打西,PC之后卖盒饭?
- PAT-乙级-1062 最简分数
- C#单元测试如何查看输出的调试信息?
- 台式电脑主机前面耳机插孔没声音的解决方法
- cfd 网格划分c语言源程序,ICEM-CFD-网格划分入门 .doc
- 电脑桌面双击计算机图标打不开,电脑双击图标打不开怎么办
- ppt 制作海报 导出高分辨率图片
- Ubuntu16.04解决arpspoof时出现arpspoof: libnet_check_iface() ioctl: No such device问题
- 每月一书(202104):《浪潮之巅》
- 使用mongoTemplate进行Aggregation聚合查询
- Win10 C盘清理的技巧,将C盘中除Windows外的所有系统文件夹移到C盘之外,节约大部分C盘空间
- 分布式系统-共识协议
热门文章
- NIPS大会最精彩一日:AlphaZero遭受质疑;史上第一场正式辩论与LeCun激情抗辩;元学习强化学习亮点复盘...
- 中国本土便利店遍地开花,7-Eleven便利店入华为何“水土不服”?
- PMP章节练习—项目经理的角色
- ppt密码怎么设置,ppt权限密码如何破解?
- 图文识别(一):验证码识别---中、英文、数字混合的单行文字识别等
- Emacs: Failed to verify signature archive-contents.sig或gpg: 无法检查签名:没有公钥
- Redis并发竞争key的解决方案详解
- android socket代理app,android socket客户端app
- 习题6-5 巡逻机器人
- 小芳同学的错题总结(十四)