4

在这个问题之后,我了解了如何垂直对齐单行文本:

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));

但是此代码仅适用于单行上下文。当框架生成多行字符串(带有软或硬换行符)时,该代码不起作用。

4

0 回答 0