IOS UIlabel 、UIButton添加下划线
1.给UILabel 添加下划线
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 300, 100)]; label.backgroundColor = [UIColor redColor]; label.numberOfLines = 3; NSMutableAttributedString *content = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@"您的待办业务条fasdfasdfosadfjasdkljfklasjklfjasdlkjfklasdjklfjalskdjflkadsj"]]; NSRange contentRange = {0,[content length]}; [content addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:contentRange]; label.attributedText = content; [self.view addSubview:label];
2. http://blog.csdn.net/chaoyuan899/article/details/38306141
方法一:
- NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"查看所有中奖记录"];
- NSRange strRange = {0,[str length]};
- [str addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:strRange];
- [_awardDisplayBtn setAttributedTitle:str forState:UIControlStateNormal];
HyperlinksButton.h
- #import <UIKit/UIKit.h>
- @interface HyperlinksButton : UIButton
- {
- UIColor *lineColor;
- }
- -(void)setColor:(UIColor*)color;
- @end
HyperlinksButton.m
- #import "HyperlinksButton.h"
- @implementation HyperlinksButton
- - (id)initWithFrame:(CGRect)frame
- {
- self = [super initWithFrame:frame];
- if (self) {
- }
- return self;
- }
- -(void)setColor:(UIColor *)color{
- lineColor = [color copy];
- [self setNeedsDisplay];
- }
- - (void) drawRect:(CGRect)rect {
- CGRect textRect = self.titleLabel.frame;
- CGContextRef contextRef = UIGraphicsGetCurrentContext();
- CGFloat descender = self.titleLabel.font.descender;
- if([lineColor isKindOfClass:[UIColor class]]){
- CGContextSetStrokeColorWithColor(contextRef, lineColor.CGColor);
- }
- CGContextMoveToPoint(contextRef, textRect.origin.x, textRect.origin.y + textRect.size.height + descender+1);
- CGContextAddLineToPoint(contextRef, textRect.origin.x + textRect.size.width, textRect.origin.y + textRect.size.height + descender+1);
- CGContextClosePath(contextRef);
- CGContextDrawPath(contextRef, kCGPathStroke);
- }
- @end
示例结果:
代码在这里。
posted on 2014-10-08 16:47 ACM_Someone like you 阅读(1226) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)