在前面一篇文章中,介紹了屬性文字的基本使用,本章節主要針對文字的段落樣式展開演示說明。
先定義一段演示文字(文字中有中,英文)。
[cpp] view plaincopyNSString *src = [NSString stringWithString:@"其實流程是這樣的: 1、生成要繪制的NSAttributedString對象。 2、生成一個CTFramesetterRef對象,然后創建一個CGPath對象,這個Path對象用于表示可繪制區域坐標值、長寬。 3、使用上面生成的setter和path生成一個CTFrameRef對象,這個對象包含了這兩個對象的信息(字體信息、坐標信息),它就可以使用CTFrameDraw方法繪制了。"]; NSMutableAttributedString * mabstring = [[NSMutableAttributedString alloc]initWithString:src]; long slen = [mabstring length];
[cpp] view plaincopy"font-family: Arial, Helvetica, sans-serif;"> 在未設置段落樣式的情況下,效果:
![coreText]()
從上面的交果來看,想必大家也看到了,英文部份換行顯示了。這個一般情況下不注意,但在大的段落文章中就會出現不對齊現象。
先不管上面的,下面逐個來演示一下段落屬性。段落樣式定義:
[cpp] view plaincopykCTParagraphStyleSpecifierAlignment = 0, //對齊屬性 kCTParagraphStyleSpecifierFirstLineHeadIndent = 1, //首行縮進 kCTParagraphStyleSpecifierHeadIndent = 2, //段頭縮進 kCTParagraphStyleSpecifierTailIndent = 3, //段尾縮進 kCTParagraphStyleSpecifierTabStops = 4, //制表符模式 kCTParagraphStyleSpecifierDefaultTabInterval = 5, //默認tab間隔 kCTParagraphStyleSpecifierLineBreakMode = 6, //換行模式 kCTParagraphStyleSpecifierLineHeightMultiple = 7, //多行高 kCTParagraphStyleSpecifierMaximumLineHeight = 8, //最大行高 kCTParagraphStyleSpecifierMinimumLineHeight = 9, //最小行高 kCTParagraphStyleSpecifierLineSpacing = 10, //行距 kCTParagraphStyleSpecifi