我顯示此字符串(注意休息):CoreText增加了額外的空間,每一個段落的拉斯維加斯線
CONSEJO
NACIONAL
PARA LA
CULTURA
Y LAS ARTES
我已經配置了NSAttributedString有一條線高度不斷使用代碼提示26分蘋果here:
CGFloat lineSpacing = 26;
CTTextAlignment theAlignment = kCTLeftTextAlignment;
CTParagraphStyleSetting theSettings[3] =
{
{kCTParagraphStyleSpecifierMaximumLineHeight, sizeof(CGFloat), &lineSpacing},
{kCTParagraphStyleSpecifierMinimumLineHeight, sizeof(CGFloat), &lineSpacing},
{kCTParagraphStyleSpecifierAlignment, sizeof(CTTextAlignment), &theAlignment },
};
但還有最後一行額外的空間:
如果我手動添加空格的話,我得到預期的結果之間,所以在印刷時:
CONSEJO NACIONAL PARA LA CULTURA Y LAS ARTES
它顯示了這一點(注意,這裏是最後一行沒有多餘的空格):
這不是一個可持續的解決方案,因爲我不想手動更改所有字符串以根據幀大小添加空格。
我一直在測試幾個月,而且我還沒有能夠解決這個問題,最後一行總是會獲得更多的空間。
我也用 「\ r」 試驗,看是否得到了不同的結果,但它仍然增加了額外的空間,顯示:
Consejo\rNacional\rpara la\rCultura\ry las Artes
製作:
[左使用\ R] [右鍵使用空格]
http://dl.dropbox.com/u/11470523/Test.png
[這裏所有的藍色塊大小相同]
http://dl.dropbox.com/u/11470523/TEsst1%20copy.png
所以有更少的空間,但還有更多的應該有。
CoreText應該能夠像這樣處理一個簡單的字符串。
添加空格不夠好(出於以下原因),必須有一種方法才能控制它。
你認爲問題是什麼?