包装的CATextLayer中行之间的间距的值是多少?

时间:2019-04-24 02:06:54

标签: ios swift calayer catextlayer

我正在尝试创建一个CATextLayer,其框架的确切大小为3行文本加上此文本之间的间距。我知道我的字体大小是12。

因此框架的高度应为12 * 3 + 2 * spaceSize。

我想要spaceSize等于的数字,我在任何地方都找不到。


如果有帮助,我使用的字体是Helvetica。

1 个答案:

答案 0 :(得分:4)

CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString( (CFMutableAttributedStringRef) textLayer.string);
CGSize suggestedSize = CTFramesetterSuggestFrameSizeWithConstraints(framesetter, CFRangeMake(0, 0), NULL, CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX), NULL);
CFRelease(framesetter);
CGFloat layerHeight = ceil(suggestedSize.height);
spaceSize = (layerHeight - 36) / 2.0;