iOS中添加文本链接和图片示例代码

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

前言

我们在开发过程中会遇到这样的需求。用户注册,或者做些其他操作的时候我们需要在下方加上这样一段话:注册代表你遵守我们的《用户协议》,《隐私条款》这两个是链接,那么接下来我们改怎么做呢,下面来一起看看详细的介绍:

先上图再说话

实现方法

如果我们按照平常的想法在label上面显示文字,然后给label加上手势也可以实现,那么链接多的话,你就要判断点击手势的区域,感觉麻烦,那么苹果给我们提供了很好的方法富文本NSMutableAttributedString。

 UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 100, 375, 100)];
 textView.backgroundColor = [UIColor cyanColor];
 //创建初始化文本的颜色,以及字体大小
 NSDictionary *dictionary = @{NSFontAttributeName:[UIFont systemFontOfSize:17],NSForegroundColorAttributeName:[UIColor yellowColor]};

 NSString * string = @" 跳转到百度\n\n 跳转到简书";
 //创建富文本
 NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:string attributes:dictionary];
 //实现文本链接
 [attributeStr addAttribute:NSLinkAttributeName value:@"http://www.jianshu.com" range:[string rangeOfString:@"简书"]];
 [attributeStr addAttribute:NSLinkAttributeName value:@"http://www.baidu.com" range:[string rangeOfString:@"百度"]];
// textView.tintColor = [UIColor redColor];//调节文本链接字体的颜色

 textView.attributedText = attributeStr;
 textView.editable = NO;

上面的方法基本事件点击点解跳转的功能,当然你也可以遵守textview的delegate在

- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange

 return YES;
}

代理方法里面做你想要的操作,可是呢,有时后文字是分条显示的 第一条,第二条,但是又不让用文字,而是用上面的小点图片显示的,这就需要插入图片了

 //文本插入图片
 NSTextAttachment *attachment = [[NSTextAttachment alloc] init];
 attachment.image = [UIImage imageNamed:@"red_2"];
 //图片大小不合适 可以调整
 attachment.bounds = CGRectMake(0, 0, 8, 8);
 NSMutableAttributedString *attachmentString = (NSMutableAttributedString *)[NSAttributedString attributedStringWithAttachment:attachment];
 //你想要插入图片的位置
 [textView.textStorage insertAttributedString:attachmentString atIndex:0];
 [textView.textStorage insertAttributedString:attachmentString atIndex:10];

富文本里面还有好多东西,有兴趣的小伙伴可以研究一下

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对的支持。


# ios  # 文本超链接  # 文本url超链接  # 富文本  # 图片  # IOS 中CATextLayer绘制文本字符串  # iOS实现富文本编辑器的方法详解  # 解决iOS UITextField 编辑时文本偏移问题  # iOS App开发中扩展RCLabel组件进行基于HTML的文本布局  # iOS使用runtime修改文本框(TextField)的占位文字颜色  # IOS判断字符串是不是纯数字的方法总结  # iOS中如何判断中英文混合的字符长度  # iOS UITextField最大字符数和字节数的限制详解  # IOS判断字符串是否有空格实例  # iOS中对文本的字符限制示例详解  # 插入图片  # 你想要  # 跳转到  # 很好  # 如有  # 给我们  # 这就  # 这两个  # 有兴趣  # 怎么做  # 又不  # 可以实现  # 跳转  # 这篇文章  # 谢谢大家  # 第一条  # 第二条  # 你也可以  # 做些  # 不合适 


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


相关推荐: 详解Android图表 MPAndroidChart折线图  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  EditPlus中的正则表达式 实战(4)  *服务器网站为何频现安全漏洞?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  利用JavaScript实现拖拽改变元素大小  lovemo网页版地址 lovemo官网手机登录  js实现点击每个li节点,都弹出其文本值及修改  Laravel如何为API生成Swagger或OpenAPI文档  JavaScript数据类型有哪些_如何准确判断一个变量的类型  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  如何在新浪SAE免费搭建个人博客?  如何快速上传自定义模板至建站之星?  php结合redis实现高并发下的抢购、秒杀功能的实例  高防服务器租用首荐平台,企业级优惠套餐快速部署  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  Thinkphp 中 distinct 的用法解析  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  网站制作企业,网站的banner和导航栏是指什么?  JavaScript常见的五种数组去重的方式  简单实现Android验证码  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  bing浏览器学术搜索入口_bing学术文献检索地址  android nfc常用标签读取总结  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Laravel如何自定义错误页面(404, 500)?(代码示例)  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  郑州企业网站制作公司,郑州招聘网站有哪些?  Swift中循环语句中的转移语句 break 和 continue  高端云建站费用究竟需要多少预算?  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Laravel如何配置Horizon来管理队列?(安装和使用)  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  Laravel如何为API编写文档_Laravel API文档生成与维护方法  如何在企业微信快速生成手机电脑官网?  如何在 Pandas 中基于一列条件计算另一列的分组均值  如何快速启动建站代理加盟业务?  香港服务器选型指南:免备案配置与高效建站方案解析  微信小程序 require机制详解及实例代码  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  如何选择PHP开源工具快速搭建网站?  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  javascript基本数据类型及类型检测常用方法小结  如何确认建站备案号应放置的具体位置?  Laravel如何处理和验证JSON类型的数据库字段  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)