我有一个属性字符串,我想使用核心文本将其对齐到矩形路径中。有没有办法让CTFrameSetter/CTFrame做到这一点,还是我需要手动做到这一点?手工的方式存在:使用核心文本将文本对齐框架的底部
- 图出来使用CTFramesetterSuggestFrameSizeWithConstraints
- 框架的高度调整的路径的高度。
我有一个属性字符串,我想使用核心文本将其对齐到矩形路径中。有没有办法让CTFrameSetter/CTFrame做到这一点,还是我需要手动做到这一点?手工的方式存在:使用核心文本将文本对齐框架的底部
您必须手动完成。
CGRect boundingBox = CTFontGetBoundingBox(font);
//Get the position on the y axis
float midHeight = self.frame.size.height/2;
midHeight -= boundingBox.size.height/2;
CGPathAddRect(path, NULL, CGRectMake(0, midHeight, self.frame.size.width, boundingBox.size.height));
如果您使用多种字体会怎样? –
我无法理解你如何使它工作。 是用于绘制框架的路径吗?它如何与多行工作?不是为单行计算的边界框? – MatterGoal
在什么语言? –
我以为Core Text API只有我可用? – Aderstedt