美文网首页
iOS-文字行高

iOS-文字行高

作者: Freedom_fly | 来源:发表于2018-08-01 18:58 被阅读503次

UILabel设置富文本行高:

UI标注多是以2倍为标准,如果2倍下行高是48,1倍行高就是24,24-字号就是代码中lineSpacing的值

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:text];    
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    [paragraphStyle setLineSpacing:(lineSpacing-(label.font.lineHeight - label.font.pointSize))];
    [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [text length])];
  label.attributedText = attributedString;

paragraphStylelineSpacing是指第一行文字与第二行文字的行间距(这个行间距包括文字的留白区域),如果直接设置:

[paragraphStyle setLineSpacing:lineSpacing];

实际行高是大于UI的行高的,所以需要减去自带的留白,重新设置行间距(完整代码如上)。

之所以会大于UI要求的行高,原因如下:


image.png

具体解释与说明请参考:
iOS行距与行高

相关文章

  • iOS-文字行高

    UILabel设置富文本行高: UI标注多是以2倍为标准,如果2倍下行高是48,1倍行高就是24,24-字号就是代...

  • CSS基础<三>

    1. 行高 行高的定义行高是基线与基线之间的距离行高=文字高度+上下间距浏览器默认文字大小:16px一行文字行高和...

  • Css基础第三天

    1、行高 ◆浏览器默认文字大小浏览器默认文字大小:16px行高:是基线与基线之间的距离行高=文字高度+上下边距一行...

  • 再看 line-height

    如果没有字体,只设置行高 块级元素设置行高 内联元素设置行高 行内块元素设置行高 行高起作用的前提是有文字存在 ,...

  • css基础知识之一张图看懂文字基线顶线底线

    行高定义:基线与基线之间的距离行高=文字高度+上下边距

  • 微信小程序一定高度文字的展开与收起

    1.实现效果 2.实现思路 1.给文字设置相应的行高,假设想展示10行文字,此时设置一个最大高度是10*文字的行高...

  • 移动端设置文字居中时偏上的问题

    移动端使用行高设置文字垂直居中时偏上问题 使用line-height设置行高使文字垂直居中时,安卓机文字显示偏上解...

  • CSS总结笔记(三)

    一、行高和字号 1.1 行高 CSS中,所有的行,都有行高。盒模型的padding,绝对不是直接作用在文字上的,而...

  • CSS基础之行高和字号,超链接美化,backgroud系列属性

    1.行高和字号 1.1行高 CSS中,所有的行,都有行高。盒模型的padding,绝对不是直接作用在文字上的,而是...

  • css行高和字号

    1. 行高 CSS中,所有的行都有行高。盒模型的padding并不是直接作用在文字上,而是作用在“行”上。 行高格...

网友评论

      本文标题:iOS-文字行高

      本文链接:https://www.haomeiwen.com/subject/jfxkpftx.html