格式&排版
上面属性的最后一个就是排版.需要去一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开发频道。










