最近接到一个需求,给一段文字,可能需要对文字中的某个词语添加交互事件,触发后进行名词解释。设计如下:
有网友说用text view,把需要交互的字符当作url处理,可这样以来,必须打开text view的selectable属性,这不是我想要的。于是考虑用UILabel,因为之前用过TTTAttributedLabel。
TTT这个东西可以根据你的配置自动去做正则,找出你需要匹配的电话号码、url等内容。因为和我的需求不一样,但是实现交互的思想是相同的。
实现思想基于CoreText,通过点击的位置确定点击在文本的第几个(index)字符上,然后判断这个index是否在某个目标词句的位置范围内,如果在,则抛block。
撸了个自定义label,点击获取demo。
本文介绍了一种使用自定义UILabel的方法来实现对特定词汇的点击交互功能。基于CoreText原理,通过对点击位置的精确计算确定点击的目标字符,并进一步判断该字符是否属于预设的交互词汇范围。这种技术可以用于创建具有特定名词解释功能的富文本。
1893

被折叠的 条评论
为什么被折叠?



