ios label尺寸_iOS UILabel 设置内容的间距及高度的计算示例

前言

UILabel 是的使用频率是非常频繁,当文字较多的时候,会显得密密麻麻的,不利于UI显示及用户观看。通常我们需要对 Label 中“行间距”或“文字间距”进行调整,从而使文字没那么紧密,提高用户体验。

当调整“行间距”或“字间距”后,很多时候需要对Label进行高度自适应,此时会出现高度计算错误的问题,所以我们需要对“富文字”高度进行计算。计算结束后,经测试发现:当文字为1行并且全部文字为“中文”时,高度计算不准确,最后对该问题进行处理。

综上所述:分为以下三步进行设置“UILabel 内容的间距及高度的计算”

​ 1. 通过使用 UILbael 的分类实现修改间距的功能。

​ 2 .使用两种方法来计算:“富文字”的高度。

​ 3. 对“高度计算结果”特殊情况进行处理。

一.设置 Label “行间距”或“字间距”

设置思路

普通的 NSString 文字,不能调整字体“行间距”或“字间距”,但

NSAttributedString 富文字,可以调整该间距,所以我们把普通的字体变为富文字,然后使用富文字对应方法即可设置间距。

设置过程

给 label 添加一个分类,在分类中声明并实现三种方法

@interface UILabel (ChangeLineSpaceAndWordSpace)

//1.设置:行间距

+ (void)changeLineSpaceForLabel:(UILabel *)label WithSpace:(float)space;

//2.设置:字间距

+ (void)changeWordSpaceForLabel:(UILabel *)label WithSpace:(float)space;

//3.设置:行间距 与 字间距

+ (void)changeSpaceForLabel:(UILabel *)label withLineSpace:(float)lineSpace WordSpace:(float)wordSpace;

@end

1.设置:行间距

//传入需要设置的 Label 与需要设置的行间距数值

+ (void)changeLineSpaceForLabel:(UILabel *)label WithSpace:(float)space {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值