iOS富文本的使用方法示例详解

2020-01-21 03:11:22丽君

格式&排版

上面属性的最后一个就是排版.需要去一NSMutableParagraphStyle的对象.直接上代码:


NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.alignment = aligent;
paragraphStyle.lineSpacing = lineSpace; // 调整行间距
paragraphStyle.firstLineHeadIndent = firstLineHeadIndent;//首行缩进
NSRange range = NSMakeRange(0, [string length]);
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:range];

我们再来认识一下NSMutableParagraphStyle的属性:


CGFloat lineSpacing;     // 字体的行间距 
CGFloat paragraphSpacing;   // 段与段之间的间距 
NSTextAlignment alignment;   // (两端对齐的)文本对齐方式(左,中,右,两端对齐,自然) 
CGFloat firstLineHeadIndent;   // 首行缩进 
CGFloat headIndent;     // 整体缩进(首行除外) 
CGFloat tailIndent;     // 尾部缩进
NSLineBreakMode lineBreakMode;  // 结尾部分的内容以……方式省略
CGFloat minimumLineHeight;   // 最低行高
CGFloat maximumLineHeight;   // 最大行高 
NSWritingDirection baseWritingDirection; // 书写方向
CGFloat lineHeightMultiple;   // 行间距多少倍
CGFloat paragraphSpacingBefore;  // 段首行空白空
float hyphenationFactor;    // 连字属性 在iOS,唯一支持的值分别为0和1 

设置了这么多的格式,进行了各种各样的排版那么怎么计算行高呢.


- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options context:(nullable NSStringDrawingContext *)context NS_AVAILABLE(10_11, 6_0);

是苹果推荐的计算方法,显然会遇到段落格式问题,例如行间距、缩进等格式设置需求,attributes传进来的字典中,包含我们设置的字体及格式,其中NSParagraphStyleAttributeName是设置段落风格,NSFontAttributeName是设置字体。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ASPKU的支持。


注:相关教程知识阅读请移步到IOS开发频道。