我正在使用CoreText來呈現多列文本。然而,當我設置第一個段落比文本的其餘部分加粗,大字體的第一個字母,我承擔2期(附加圖像中都可見):CoreText中的行間距和段落對齊方式
的間距第一下(我知道這是因爲第一個字符可能是ag,y,p,q等等。
第一行下面的行現在不會與下一列中的對應行對齊
有關如何克服這兩個問題的任何建議將是偉大的Ÿ讚賞,謝謝。
我正在使用CoreText來呈現多列文本。然而,當我設置第一個段落比文本的其餘部分加粗,大字體的第一個字母,我承擔2期(附加圖像中都可見):CoreText中的行間距和段落對齊方式
的間距第一下(我知道這是因爲第一個字符可能是ag,y,p,q等等。
第一行下面的行現在不會與下一列中的對應行對齊
有關如何克服這兩個問題的任何建議將是偉大的Ÿ讚賞,謝謝。
這似乎是解決這個問題的唯一方法是使用一種變通方法,這是創造的第一列,1 3幀爲W,1對第一句的休息和1的其餘部分第一列。
根據文檔kCTParagraphStyleSpecifierMaximumLineHeight應該已經解決了這個問題,但不幸的是似乎至少在IOS 4.3上沒有工作。
CTParagraphStyleSetting theSettings[5] =
{
{ kCTParagraphStyleSpecifierParagraphSpacing, sizeof(CGFloat), &spaceBetweenParaghraphs },
{ kCTParagraphStyleSpecifierParagraphSpacingBefore, sizeof(CGFloat), &topSpacing },
{ kCTParagraphStyleSpecifierLineSpacing, sizeof(CGFloat), &spaceBetweenLines },
{ kCTParagraphStyleSpecifierMinimumLineHeight, sizeof(CGFloat), &lineHeight},
{ kCTParagraphStyleSpecifierMaximumLineHeight, sizeof(CGFloat), &lineHeight}
};
CTParagraphStyleRef paragraphStyle = CTParagraphStyleCreate(theSettings, 5);
公平的文件說,它在OS v10.5及更高版本中可用。
kCTParagraphStyleSpecifierMaximumLineHeight
:
無論任何附加圖形的字體大小或大小,幀中任何行將佔據的最大高度。超過此高度的字形和圖形將與相鄰線條重疊。最大高度爲0意味着沒有線高度限制。這個值總是非負的。
類型:CGFloat。
默認值:0.0。
應用:CTFramesetter。
適用於Mac OS X v10.5及更高版本。
在CTParagraphStyle.h中聲明。
可以顯示你的代碼嗎? – SAKrisT 2011-10-31 14:41:01