iOS - UILabel点击选中文字,部分高亮,YYLabel
最近有这个一个小需求,有这样一个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相关推荐
- iOS UILabel 文字 置顶/置底 实现
iOS UILabel控件默认文字位置是居中的,如图所示: 但是我们经常碰到这样的需求,希望文字向上置顶,或者向下置底,但是很遗憾,iOS API中并没有提供相应的属性和方法,需要我们手动设置. 利用 ...
- 【vue2】纯前端实现本地的pdf/word/epub文件预览(包括pdf选中文字,epub高亮等)
前言 需求是预览本地的pdf/word/epub格式的文件,但是搜索后发现没有可以直接使用的,格式不同,显示的方式和效果也都略有不同. 最后还是分别实现预览的功能. 补充功能:pdf选中文字,epub ...
- iOS UIlabel文字排版(改变字间距行间距)分类
在iOS开发中经常会用到UIlabel来展示一些文字性的内容,但是默认的文字排版会觉得有些挤,为了更美观也更易于阅读我们可以通过某些方法将UIlabel的行间距和字间距按照需要调节. 比如一个Labe ...
- SVG公众号排版『iOS手机长按禁止选中文字』解决方法
最近一位老铁向懂点君提问了一个问题:在iOS手机中长按切换图片会选中文字(SVG效果上下有文本内容),安卓手机则不会选中文字.看到问题后,脑子里立马蹦出了一个解决方法,在svg元素和p元素添加禁止文本 ...
- html避免多次点击选中页面文字或者内容时出现蓝色背景
在body.html中添加以下代码 *,body,html{ -moz-user-select: none; /*火狐*//*选中文字时避免出现蓝色背景*/-webkit-user-select: n ...
- element vue 点击一边拖拽改变宽度 解决拖动会选中文字的问题
实现效果: 实现代码: //最外边的这个是放表格容器的div <div @mousemove="shrinkMove" @mouseup="shrinkUp&quo ...
- ios cell点击对勾_带图像和对勾的iOS自定义TableView
ios cell点击对勾 In this tutorial, we'll be developing an iOS Application that contains a custom TableVi ...
- VUE预览PDF文件并利用pdf.js获取鼠标选中的文字和搜索,在iframe中获取选中文字,监听鼠标事件,右键菜单
一.VUE预览PDF文件并利用pdf.js获取鼠标选中的文字和搜索 需求实现:vue实现预览pdf文件,获取到鼠标选中的文字数据.调用pdf.js自带的搜索方法实现搜索功能(后期可以调用该接口满足其他 ...
- echarts 地图 scatter点击事件_React实现高亮可点击地图
目前越来越多的项目中开始使用地图,而对地图的需求也不仅仅是简单的纯展示,更多了各种各样的交互功能.今天这篇文章主要介绍的就react中通过Echarts实现一个高亮可点击的省市地图.接下来先看看效果图 ...
最新文章
- 轻松搭建Google ADK开发环境
- Ext grid 根据行号获取行数据
- 如何正确的开始用 Go 编程
- 记账程序及GitHub学习记录3
- 应用程序框架实战二十六:查询对象
- 【LeetCode】345. Reverse Vowels of a String 解题小结
- mysql mvcc 实例说明_【MySQL】面试官:谈谈你对Mysql的MVCC的理解?
- 创建一个SpringBoot项目(IDEA版本,保姆级教程)
- eyoucms使用入门 四
- 软件测试之逻辑思维题
- 【翻译】Flux安全审计已经结束
- 在.NET中进行AutoCAD二次开发(C#+ObjectArx) (二)
- ruoyi-ui下载依赖报错npm ERR! cb() never called!
- fullscan mysql_[InnoDB系列] -- 实测ibbackup vs mysqldump
- 逐飞与龙邱英飞凌miniwiggler仿真器硬件接口适配与差异总结
- 第一次竞赛-A.质数的最大乘积
- 5.基于Abp的DDD框架
- 网上千万不要在非官方直营店铺买的商品排行榜
- 项目经理应该如何提高团队执行力
- 网站中加入站长流量统计代码
热门文章
- html/css横向竖向导航栏的绘制
- ajax浏览器崩溃,AJAX崩溃浏览器(200MB响应)
- Django:在DDTCMS中使用Photologue做相册并增加封面的探索
- iVMS-4200 Vs区别_45466足球推荐分析 法甲 21:00 安格斯 VS 梅斯
- Go实现的5G核心网开源项目free5gc源码分析系列 | Gopher Daily (2021.01.08) ʕ◔ϖ◔ʔ
- 最新php开发学习资料网盘下载
- [办公软件]怎么在WPS表格里设置完成率公式?
- Android 点九图 .9图
- 韩顺平Linux教程学习笔记
- java在线文档管理系统_spring-boot-doc