———- 如果你在开发社交相关的APP时,可能会用到富文本超链接等功能,可选的框架很多,YYKit是一个不错的选择,我在使用的过程中遇到几个小麻烦跟大家分享一下(主要是YYLabel,更高级的用法还没用到)1.子文本与父文本属性冲突(高亮点击等属性)举个栗子:
“ [ 百度一下](www.baidu.com )你就知道“,这个富文本中百度一下你就知道
和百度一下
就是父子关系,有的产品需求是点击父文本是一个效果,点击子文本是另一一个效果(反正我没有这么脑残的要求)。 然后开始码代码> [attr yy _ setTextHighlight:hi range:attr.yy _ rangeOfAll]; > [subAttr yy _ setTextHighlight:hi range:subAttr.yy _ rangeOfAll];
写完后不管你怎么试,怎样切换API(其实最后都是调用上面的方法)只有父文本的设置生效,呢为什么看下面的一段源码你就知道了在YYLabel.m中有一个私有方法
> -(YYTextHighlight )_getHighlightAtPoint:(CGPoint)点范围:(NSRangePointer)范围>其中的实现用到一个系统方法> - (可为空ID)属性:(NSAttributedStringKey)attrName atIndex:(NSUInteger)位置longestEffectiveRangeÿ