你可以用CTFontGetLeading(aCTFont)得到它,但你如何設置它?如何在CoreText中設置主角?
任何人都可以解釋一下嗎?
是否有其他解決方法?您是否需要手動設置線條之間的空間,或許?
你可以用CTFontGetLeading(aCTFont)得到它,但你如何設置它?如何在CoreText中設置主角?
任何人都可以解釋一下嗎?
是否有其他解決方法?您是否需要手動設置線條之間的空間,或許?
我得到了解決此: http://www.iphonedevsdk.com/forum/iphone-sdk-development/59101-how-set-leading-coretext.html
基本上,只要設置屬性kCTParagraphStyleSpecifierMinimumLineHeight。你可以在CTParagraphStyle.h中找到它
我發現當我在一個段落中使用多個字體時,設置最小和最大行高度是不夠的。我還必須將行間距設置爲0,否則這些行將具有不一致的前導。這裏是我的完整解決方案:
CGFloat lineHeight = 68.0f;
CGFloat lineSpacing = 0.0f;
CTParagraphStyleSetting setting[4] = {
{kCTParagraphStyleSpecifierMaximumLineHeight, sizeof(CGFloat), &lineHeight},
{kCTParagraphStyleSpecifierMinimumLineHeight, sizeof(CGFloat), &lineHeight},
{kCTParagraphStyleSpecifierMaximumLineSpacing, sizeof(CGFloat), &lineSpacing},
{kCTParagraphStyleSpecifierMinimumLineSpacing, sizeof(CGFloat), &lineSpacing}
};
CTParagraphStyleRef paragraphStyle = CTParagraphStyleCreate(setting, 4);
NSRange fullRange = NSMakeRange(0, [mutString length]);
[mutString addAttributes:[NSDictionary dictionaryWithObjectsAndKeys:(__bridge id)paragraphStyle,
(NSString*)kCTParagraphStyleAttributeName, nil]
range:fullRange];
CFRelease(paragraphStyle);