0

我真的在寻找这个问题的答案,但没有想出任何可靠的东西,所以就这样吧。

我正在动态地将 UILabel 添加到视图中,它们可以是任意大小。我希望将第二个添加的一个放置在最后一个下方约 2 个像素处,无论是否有字母在下方。

我尝试过使用各种方法在将标签框调整为字体大小后获取标签框,但没有看。框架似乎总是比垂直的实际文本大。

你们有什么想法吗?

4

1 回答 1

1

首先,我会尝试将标签设置adjustsFontSizeToFitWidth为 NO,看看它是否会让你弄乱正常比例,这似乎是你的目标。

如果这不起作用,您可能需要将字符串绘制到 CALayer。创建一个 CALayer 并将其添加到视图的根层,即:

[yourView.layer addSublayer.yourNewLayerForString]. 

将子层的委托设置为将进行绘图的类:

[yourNewLayerForString setDelegate:self];

drawLayer在该类中实现(您指定为委托的类)。drawLayer 代码可能有点难看,但您可以找到有关如何在图层中绘制字符串的示例。这个看起来不错:addTextToLayer

然后,您将可以精确控制字体和字符串大小,并可以调整图层框架和视图框架以适合您的目标。

于 2012-04-18T01:56:53.313 回答