最近项目里需要处理文本解析,将一段文本中的<a href="xxxxx">这是一个链接</a>自动解析成: (这是一个链接),点击响应跳转事件。
尝试使用了 TTTAttributedLabel,发现对中文支持不太好。主要是我这里需要根据文本计算行高。
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakMode;
使用以上方法计算的行高与TTTAttributedLabel实际绘制文本所需要的行高不一致,会比实际所需的要少。(实测英文一般没问题,使用长短不同文本多次测试,发现也有略微高度不匹配情况,但不明显)。
这里使用的是默认字体设置,比如[UIFontsystemFontOfSize:13]。
目前找到个暂时的解决方案,uifont使用中文字体:"STHeitiJ-Light"。这样能保证计算出来的行高满足TTTAttributedLabel绘制所需。
但是还有个问题,这样