IOS 开发之UILabel 或者 UIButton加下划线链接

发布时间 - 2026-01-11 02:21:21    点击率:

IOS 开发之UILabel 或者 UIButton加下划线链接

         本文主要介绍了IOS中 UILable及UIButton的带下划线链接的实现方法及附有源码下载,大家开发IOS 应用有需要的可以参考下:

方法一:

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 
[objc] view plain copy print?
#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 

直接将这个类 copy 到工程中,,然后将需要加下划线的 Button 类名改为 HyperlinksButton就可以了,提供了 setColor: 这个接口,可以设置下划线颜色,代码很简单,不解释了。UILabel 同理可得。

示例结果:

源码下载地址:https://github.com/chaoyuan899/HyperlinksButton#how-to-use

本站源码下载:http://xiazai./201707/yuanma/HyperlinksButton-master().rar

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# UILabel  # 或者  # UIButton标题加下划线  # IOS  # 开发之下划线链接  # iOS基于 UILabel实现文字添加描边功能  # iOS如何封装带复制功能的UILabel示例代码  # iOS开发总结之UILabel常用属性介绍  # iOS中UILabel设置居上对齐、居中对齐、居下对齐及文字置顶显示  # iOS动态调整UILabel高度的几种方法  # iOS UILabel 设置内容的间距及高度的计算示例  # iOS中UILabel实现长按复制功能实例代码  # iOS UILabel根据内容自动调整高度  # iOS两丫技术之UILabel性能不够的解决方法  # 下划线  # 源码下载  # 下载地址  # 希望能  # 很简单  # 谢谢大家  # 可得  # 就可以  # UIControlStateNormal  # forState  # HyperlinksButton  # lt  # import  # NSUnderlineStyleSingle  # numberWithInteger  # range  # setAttributedTitle  # _awardDisplayBtn  # setColor  # color 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  简单实现Android验证码  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  php json中文编码为null的解决办法  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  SQL查询语句优化的实用方法总结  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  Laravel怎么使用artisan命令缓存配置和视图  开心动漫网站制作软件下载,十分开心动画为何停播?  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Laravel如何使用Eloquent进行子查询  Laravel怎么使用Intervention Image库处理图片上传和缩放  西安专业网站制作公司有哪些,陕西省建行官方网站?  清除minerd进程的简单方法  如何做网站制作流程,*游戏网站怎么搭建?  phpredis提高消息队列的实时性方法(推荐)  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  网站制作壁纸教程视频,电脑壁纸网站?  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  Laravel如何为API编写文档_Laravel API文档生成与维护方法  如何在云主机上快速搭建网站?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  晋江文学城电脑版官网 晋江文学城网页版直接进入  如何在万网ECS上快速搭建专属网站?  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  如何快速使用云服务器搭建个人网站?  Laravel怎么实现模型属性的自动加密  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  Android 常见的图片加载框架详细介绍  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  北京网站制作的公司有哪些,北京白云观官方网站?  如何用IIS7快速搭建并优化网站站点?  详解CentOS6.5 安装 MySQL5.1.71的方法  如何快速搭建支持数据库操作的智能建站平台?  nginx修改上传文件大小限制的方法  如何在香港免费服务器上快速搭建网站?  手机网站制作与建设方案,手机网站如何建设?  Linux后台任务运行方法_nohup与&使用技巧【技巧】  如何用免费手机建站系统零基础打造专业网站?  魔方云NAT建站如何实现端口转发?