SWift中UITextView编辑时插入自定义表情-简单的图文混编
来源:互联网 发布:linux中解压zip文件 编辑:程序博客网 时间:2024/05/22 06:20
UITextView编辑时插入自定义表情-简单的图文混编
前言
在iOS开发中,经常需要用UITextView作为编辑文本的输入控件。
但是如何在编辑时插入自定义表情呢?就是像QQ,微信里面的表情
本文简单的用NSTextAttachment、NSAttributedString的特性,实现了
在UITextView中编辑文字时插入自定义表情图片
同时可以返回带有表情“替换符”的纯文本字符串。
知识点
NSAttributedString及其子类,用于显示副文本。
NSTextAttachment,NSAttributedString的一种样式类,可以在文本中显示图片。
首先需要明确的是,我们的自定义表情一定是有一一对应的“标志”的,如"[哈哈]"。
就是说,为了方便处理,方便在数据库、网络传输中保存、传输带有表情图片的文本,我们必须要为每种表情取特定的“名字”,数据库中储存的、网络传输的文本就只包含这些标志名字就行,在显示的时候做对应的替换。
如:
对应的纯文本就是:"[哈哈]"
插入并显示表情图片
获取带有表情标志的文本字符串
难点
NSTextAttachment被插入到NSAttributedString中的时候,就被当成了一个字符处理!!!。
就是说,只从UITextView的text中,是找不回文本里面不同的表情所对应的标志的!
解决点
我们要能遍历出当前文本中所有的表情,也就是NSTextAttachment类。
我们要能知道遍历出的表情,对应的标志是什么。
遍历所有的NSTextAttachment类属性
如何绑定NSTextAttachment所表示的表情和与其对应的标志?创建子类嘛~直接在子类中增加属性,保存标志不就行了。
所以,这个时候,插入表情的代码应该就是下面这样:
最后为了方便使用我做了一下简单的封装.把插入并显示图片,获取文字封装到UITextView的分类中.把设置NSTextAttachment的内容封装到NSTextAttachment的子类中
最后封装的代码是
把设置NSTextAttachment的内容封装到NSTextAttachment的子类中
图片如下然后在UITextView的分类中这样调用就行了
写的不好.还往大神们多多指教.相互学习
1 0
- SWift中UITextView编辑时插入自定义表情-简单的图文混编
- UITextView编辑时插入自定义表情-简单的图文混编
- UITextView编辑时插入自定义表情-简单的图文混编
- UITextView编辑时插入自定义表情-简单的图文混编
- UITextView编辑时插入自定义表情-简单的图文混编
- 表情,文字 图文混编
- 实现简单的图文混编
- swift中UITextView的使用
- swift中UITextView的使用
- swift中UITextView的使用
- UITextView使用自定义表情键盘
- iOS swift-UILabel/UITextView的图文混排
- Swift-自定义表情键盘
- OC 与 Swift混编 Swift的闭包传值到OC中
- 图文混排的实践+输入式动态插入表情
- Swift - OC的混编
- 编辑短信时插入的表情有些在sms viewer界面显示为符号
- iOS-OC中混编swift
- 徐汉彬:Web系统大规模并发——电商秒杀与抢购
- 经典图着色算法作业
- 查看安全码SHA1
- 注意数组的分部计算
- golang 1.5/1.6/1.7 安装和配置
- SWift中UITextView编辑时插入自定义表情-简单的图文混编
- NSURLConnection使用代理实现跟踪下载进度,分段写入解决下载峰值
- 动态创建视图窗口
- 在Github的README.md中显示一张图片
- Unity3d 综合性能窍门
- 瀑布流的一种实现方式
- windows通过GPRS模块拨号上网流程
- Android NOtification 使用
- ES6--map集合