设置行间距

在iOS开发过程中对文本的处理,可以需要去调整字间距,行间距之类,在这里给大伙介绍一个工具类(NSMutableParagraphStyle),它可以帮我们实现这个需求:

NSMutableParagraphStyle是NSParagraphStyle的可变类,用它可以设置以下属性:

  • lineSpacing(行间距)
  • paragraphSpacing(段间距)
  • alignment(文本对齐方式)(左、右、居中对齐)
  • firstLineHeadIndent(首行缩进)
  • headIndent (头缩进)
  • tailIndent(尾缩进)
  • lineBreakMode(换行模式)(WordWrapping、CharWrapping,Clipping,TruncatingHead,TruncatingTail,runcatingMiddle)
  • minimumLineHeight(最小行高)
  • maximumLineHeight(最大行高)
  • baseWritingDirection(文字书写方向)(Natural,LeftToRight,RightToLeft)
  • paragraphSpacingBefore(段前间距)
  • hyphenationFactor(不知道这个是什么,它的取值范围(0〜1.0))
    要想实现下划线等属性,我们可以使用NSAttributedString及其可变子类进行设置:
    常用的属性名:
  • NSFontAttributeName (字体属性)
  • NSParagraphStyleAttributeName(段落属性)
  • NSForegroundColorAttributeName(文字前景色)
  • NSBackgroundColorAttributeName (背景色)
  • NSStrikethroughStyleAttributeName(删除线属性)
  • NSStrikethroughColorAttributeName(删除线颜色)
  • NSUnderlineStyleAttributeName(下划线)
  • NSUnderlineColorAttributeName(下划线颜色)

我们可以通过创建一个NSMutableParagraphStyle对象,设置我们想要的段落属性,然后将段落属性添加至属性文本中,

-(NSAttributedString *)adjustlineSpace:(float)space {
    NSMutableAttributedString * attribute  = [[NSMutableAttributedString alloc]initWithAttributedString:self];//创建一个可变属性文本对象
    NSMutableParagraphStyle * paragraph =[[NSMutableParagraphStyle alloc]init];//创建一个段落对象
    [paragraph setLineSpacing:space];//设置段落属性
    [attribute addAttribute:NSParagraphStyleAttributeName value:paragraph range:NSMakeRange(0, self.length)];//为属性文本添加属性
    return attribute;
}

   转载规则


《设置行间距》 志鹏 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Framework制作 Framework制作
知识科谱: 什么是库? 库是程序代码的集合,是共享程序代码的一种方式。 依源代码的公开情况不同,库可以分为2种: 开源库 公开源代码,能看到具体实现(如我们常用的第三方库) 闭源库 不公开源代码,是经过编译后的二进制文件,看不到具体的实
2016-06-02 志鹏
下一篇 
OC中的拷贝 OC中的拷贝
内存的栈区 : 由编译器自动分配释放, 存放函数的参数值, 局部变量的值等. 其 操作方式类似于数据结构中的栈. 内存的堆区 : 一般由程序员分配释放, 若程序员不释放, 程序结束时可能由OS回 收. 注意它与数据结构中的堆是两回事,
2016-05-19
  目录