博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
控件里的字体下划线
阅读量:6838 次
发布时间:2019-06-26

本文共 1753 字,大约阅读时间需要 5 分钟。

如果要在按钮里的字体加下划线

可以新建一个类继承UIButton 再重写(void)drawRect:(CGRect)rect方法

View Code
- (void)drawRect:(CGRect)rect     {            // Get the Render Context        CGContextRef ctx = UIGraphicsGetCurrentContext();        // Measure the font size, so the line fits the text.        // Could be that "titleLabel" is something else in other classes like UILable, dont know.        // So make sure you fix it here if you are enhancing UILabel or something else..        CGSize fontSize =[self.titleLabel.text sizeWithFont:self.titleLabel.font                                                    forWidth:self.bounds.size.width                                              lineBreakMode:UILineBreakModeTailTruncation];        // Get the fonts color.         const float * colors = CGColorGetComponents(self.titleLabel.textColor.CGColor);        // Sets the color to draw the line        CGContextSetRGBStrokeColor(ctx, colors[0], colors[1], colors[2], 1.0f); // Format : RGBA        // Line Width : make thinner or bigger if you want        CGContextSetLineWidth(ctx, 1.0f);        // Calculate the starting point (left) and target (right)           float fontLeft = self.titleLabel.center.x - fontSize.width/2.0;        float fontRight = self.titleLabel.center.x + fontSize.width/2.0;        // Add Move Command to point the draw cursor to the starting point        CGContextMoveToPoint(ctx, fontLeft, self.bounds.size.height - 1);        // Add Command to draw a Line        CGContextAddLineToPoint(ctx, fontRight, self.bounds.size.height - 1);        // Actually draw the line.        CGContextStrokePath(ctx);        // should be nothing, but who knows...        [super drawRect:rect];       }

 

 

 

转载于:https://www.cnblogs.com/zhangdadi/archive/2012/07/26/2610599.html

你可能感兴趣的文章
java基础------函数与数组
查看>>
PHP 下载文件&获取文件内容
查看>>
android Launcher——ui框架
查看>>
那些低调的美国互联网金融公司
查看>>
iOS-集成极光推送
查看>>
[下载地址] Emmet前端必备 - 插件配置附手册
查看>>
Loadrunner做性能测试的主要步骤
查看>>
angularJS中的ng-repeat指令!
查看>>
FJ的字符串
查看>>
关于SSI整合之CRUD
查看>>
生产者/消费者模型
查看>>
reset代码
查看>>
阿里,百度,腾讯,360,新浪,网易,小米等开源项目
查看>>
gitshell 基础操作
查看>>
HDU 1517 A Multiplication Game 博弈
查看>>
调整字符串日期的格式
查看>>
paramiko多线程远程执行命令
查看>>
vue-computed计算属性用法
查看>>
mysql学习笔记-day1
查看>>
Atcoder Beginner Contest 118 D-Match Matching(完全背包)
查看>>