最近有这个一个小需求,有这样一个tipLabel:"添加QQ:670360112 进行在线咨询" 。其中qq号要求高亮并且可以点击复制,并弹出提示框提示复制成功。

好吧,需求基本是这样,在研究很久之后,发现YYLabel可以搞定。

简单介绍一下YYLabel,它是YYText里边的一个控件,YYText可以在GitHub上找到:https://github.com/ibireme/YYText

- (YYLabel *)yyLabel {

    if (nil == _yyLabel) {_yyLabel = [YYLabel new];_yyLabel.numberOfLines = 0;NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:@"添加QQ 670360112 进行在线咨询"];text.yy_font = kFT4;text.yy_color = kCL3;[text yy_setTextHighlightRange:NSMakeRange(6, 10)color:kThemeColorbackgroundColor:[UIColor whiteColor]tapAction:^(UIView *containerView, NSAttributedString *text, NSRange range, CGRect rect){UIPasteboard *pboard = [UIPasteboard generalPasteboard];pboard.string = @"670360112";[CMAlert show:@"复制成功"];}];_yyLabel.attributedText = text;}return _yyLabel;
}

其中我用到了自己集成的CMAlert,tapAction这个Block是点击处理Block。

剪切版的控制:

UIPasteboard *pboard = [UIPasteboard generalPasteboard];
pboard.string = @"670360112";

控制高亮的范围:

NSMakeRange(6, 10)

需要添加的头文件:

#import "YYLabel.h"
#import "NSAttributedString+YYText.h"

这两个头文件都在YYText第三方里,需要安装YYText,推荐cocoaPods安装。

下图是点击了黄色QQ号之后的截图

iOS - UILabel点击选中文字,部分高亮,YYLabel相关推荐

  1. iOS UILabel 文字 置顶/置底 实现

    iOS UILabel控件默认文字位置是居中的,如图所示: 但是我们经常碰到这样的需求,希望文字向上置顶,或者向下置底,但是很遗憾,iOS API中并没有提供相应的属性和方法,需要我们手动设置. 利用 ...

  2. 【vue2】纯前端实现本地的pdf/word/epub文件预览(包括pdf选中文字,epub高亮等)

    前言 需求是预览本地的pdf/word/epub格式的文件,但是搜索后发现没有可以直接使用的,格式不同,显示的方式和效果也都略有不同. 最后还是分别实现预览的功能. 补充功能:pdf选中文字,epub ...

  3. iOS UIlabel文字排版(改变字间距行间距)分类

    在iOS开发中经常会用到UIlabel来展示一些文字性的内容,但是默认的文字排版会觉得有些挤,为了更美观也更易于阅读我们可以通过某些方法将UIlabel的行间距和字间距按照需要调节. 比如一个Labe ...

  4. SVG公众号排版『iOS手机长按禁止选中文字』解决方法

    最近一位老铁向懂点君提问了一个问题:在iOS手机中长按切换图片会选中文字(SVG效果上下有文本内容),安卓手机则不会选中文字.看到问题后,脑子里立马蹦出了一个解决方法,在svg元素和p元素添加禁止文本 ...

  5. html避免多次点击选中页面文字或者内容时出现蓝色背景

    在body.html中添加以下代码 *,body,html{ -moz-user-select: none; /*火狐*//*选中文字时避免出现蓝色背景*/-webkit-user-select: n ...

  6. element vue 点击一边拖拽改变宽度 解决拖动会选中文字的问题

    实现效果: 实现代码: //最外边的这个是放表格容器的div <div @mousemove="shrinkMove" @mouseup="shrinkUp&quo ...

  7. ios cell点击对勾_带图像和对勾的iOS自定义TableView

    ios cell点击对勾 In this tutorial, we'll be developing an iOS Application that contains a custom TableVi ...

  8. VUE预览PDF文件并利用pdf.js获取鼠标选中的文字和搜索,在iframe中获取选中文字,监听鼠标事件,右键菜单

    一.VUE预览PDF文件并利用pdf.js获取鼠标选中的文字和搜索 需求实现:vue实现预览pdf文件,获取到鼠标选中的文字数据.调用pdf.js自带的搜索方法实现搜索功能(后期可以调用该接口满足其他 ...

  9. echarts 地图 scatter点击事件_React实现高亮可点击地图

    目前越来越多的项目中开始使用地图,而对地图的需求也不仅仅是简单的纯展示,更多了各种各样的交互功能.今天这篇文章主要介绍的就react中通过Echarts实现一个高亮可点击的省市地图.接下来先看看效果图 ...

最新文章

  1. 轻松搭建Google ADK开发环境
  2. Ext grid 根据行号获取行数据
  3. 如何正确的开始用 Go 编程
  4. 记账程序及GitHub学习记录3
  5. 应用程序框架实战二十六:查询对象
  6. 【LeetCode】345. Reverse Vowels of a String 解题小结
  7. mysql mvcc 实例说明_【MySQL】面试官:谈谈你对Mysql的MVCC的理解?
  8. 创建一个SpringBoot项目(IDEA版本,保姆级教程)
  9. eyoucms使用入门 四
  10. 软件测试之逻辑思维题
  11. 【翻译】Flux安全审计已经结束
  12. 在.NET中进行AutoCAD二次开发(C#+ObjectArx) (二)
  13. ruoyi-ui下载依赖报错npm ERR! cb() never called!
  14. fullscan mysql_[InnoDB系列] -- 实测ibbackup vs mysqldump
  15. 逐飞与龙邱英飞凌miniwiggler仿真器硬件接口适配与差异总结
  16. 第一次竞赛-A.质数的最大乘积
  17. 5.基于Abp的DDD框架
  18. 网上千万不要在非官方直营店铺买的商品排行榜
  19. 项目经理应该如何提高团队执行力
  20. 网站中加入站长流量统计代码

热门文章

  1. html/css横向竖向导航栏的绘制
  2. ajax浏览器崩溃,AJAX崩溃浏览器(200MB响应)
  3. Django:在DDTCMS中使用Photologue做相册并增加封面的探索
  4. iVMS-4200 Vs区别_45466足球推荐分析 法甲 21:00 安格斯 VS 梅斯
  5. Go实现的5G核心网开源项目free5gc源码分析系列 | Gopher Daily (2021.01.08) ʕ◔ϖ◔ʔ
  6. 最新php开发学习资料网盘下载
  7. [办公软件]怎么在WPS表格里设置完成率公式?
  8. Android 点九图 .9图
  9. 韩顺平Linux教程学习笔记
  10. java在线文档管理系统_spring-boot-doc