本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。
在前面一篇文章中,介绍了属性文字的基本使用,本章节主要针对文字的段落样式展开演示说明。
先定义一段演示文字(文字中有中,英文)。
- NSString *src = [NSString stringWithString:@"其实流程是这样的: 1、生成要绘制的NSAttributedString对象。 2、生成一个CTFramesetterRef对象,然后创建一个CGPath对象,这个Path对象用于表示可绘制区域坐标值、长宽。 3、使用上面生成的setter和path生成一个CTFrameRef对象,这个对象包含了这两个对象的信息(字体信息、坐标信息),它就可以使用CTFrameDraw方法绘制了。"];
- NSMutableAttributedString * mabstring = [[NSMutableAttributedString alloc]initWithString:src];
- long slen = [mabstring length];
- <span style="font-family: Arial, Helvetica, sans-serif;"> 在未设置段落样式的情况下,效果:</span>
从上面的交果来看,想必大家也看到了,英文部份换行显示了。这个一般情况下不注意,但在大的段落文章中就会出现不对齐现象。
先不管上面的,下面逐个来演示一下段落属性。
段落样式定义:
- kCTParagraphStyleSpecifierAlignment = 0, //对齐属性
- kCTParagraphStyleSpecifierFirstLineHeadIndent = 1, //首行缩进
- kCTParagraphStyleSpecifierHeadIndent = 2, //段头缩进
- kCTParagraphStyleSpecifierTailIndent = 3, //段尾缩进
- kCTParagraphStyleSpecifierTabStops = 4, //制表符模式
- kCTParagraphStyleSpecifierDefaultTabInterval = 5, //默认tab间隔
- kCTParagraphStyleSpecifierLineBreakMode = 6, //换行模式
- kCTParagraphStyleSpecifierLineHeightMultiple = 7, //多行高
- kCTParagraphStyleSpecifierMaximumLineHeight = 8, //最大行高
- kCTParagraphStyleSpecifierMinimumLineHeight = 9, //最小行高
- kCTParagraphStyleSpecifierLineSpacing = 10, //行距
- kCTParagraphStyleSpecifierParagraphSpacing = 11, //段落间距 在段的未尾(Bottom)加上间隔,这个值为负数。
- kCTParagraphStyleSpecifierParagraphSpacingBefore = 12, //段落前间距 在一个段落的前面加上间隔。TOP
- kCTParagraphStyleSpecifierBaseWritingDirection = 13, //基本书写方向
- kCTParagraphStyleSpecifierMaximumLineSpacing = 14, //最大行距
- kCTParagraphStyleSpecifierMinimumLineSpacing = 15, //最小行距
- kCTParagraphStyleSpecifierLineSpacingAdjustment = 16, //行距调整
- kCTParagraphStyleSpecifierCount = 17, //
对齐属性:
kCTLeftTextAlignment = 0, //左对齐 kCTRightTextAlignment = 1, //右对齐 kCTCenterTextAlignment = 2, //居中对齐 kCTJustifiedTextAlignment = 3, //文本对齐 kCTNaturalTextAlignment = 4 //自然文本对齐段落默认样式为
kCTNaturalTextAlignment