关于TTTAttributedLabel中文行高和间距的计算问题

本文介绍了在使用TTTAttributedLabel处理中文文本时遇到的行高计算不准确的问题,以及使用中文字体"STHeitiJ-Light"作为临时解决方案的副作用。尽管设置较大的行间距可以部分弥补空白行问题,但仍然存在不完美的情况。作者计划深入研究Coretext以寻找更好的解决方案,并期待社区分享完美的处理方法。
摘要由CSDN通过智能技术生成

最近项目里需要处理文本解析,将一段文本中的<a href="xxxxx">这是一个链接</a>自动解析成:  (这是一个链接),点击响应跳转事件。

尝试使用了 TTTAttributedLabel,发现对中文支持不太好。主要是我这里需要根据文本计算行高。 

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakMode;

使用以上方法计算的行高与TTTAttributedLabel实际绘制文本所需要的行高不一致,会比实际所需的要少。(实测英文一般没问题,使用长短不同文本多次测试,发现也有略微高度不匹配情况,但不明显)。

这里使用的是默认字体设置,比如[UIFontsystemFontOfSize:13]。


目前找到个暂时的解决方案,uifont使用中文字体:"STHeitiJ-Light"。这样能保证计算出来的行高满足TTTAttributedLabel绘制所需。

但是还有个问题,这样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值