重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
前言
成都创新互联公司是一家专业提供青海企业网站建设,专注与成都网站建设、网站建设、HTML5、小程序制作等业务。10年已为青海众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。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
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。