UILabel字体裁剪iOS

4
我正在加载字体,并将其设置在标签上,如下所示:
UIFont *font = [UIFont fontWithName:@"MyMonoFont" size:150.0];
label.font = font;
label.text = "TOBY"

然而,它似乎剪切或隐藏了文本的底部部分(如下图所示)。我试过另一种字体,效果很好。这两种字体都是TTF格式,并且在Mac的Font Book应用程序中通过了“验证”操作。

enter image description here

有一些约束条件(自动布局),但正如我所说,另一种字体似乎可以应对得好。

感谢任何提示。

编辑: 有点更新;更新标签框架大小没有任何影响(如果我打开了自动布局)。我想保持自动布局,但怀疑它们之间会发生冲突/重新调整框架。我想知道它们是否有办法相安无事。


1
增加标签的高度。那种字体看起来比大多数字体都要高得多。 - Mick MacCallum
在界面构建器中吗?我尝试使用代码 label.frame = CGRectMake(x, y, width, height); 但它没有产生任何影响... - Toby
2个回答

6
根据标签字体大小增加标签框架的高度。
label.frame = your frame.

使用类似label.frame = CGRectMake(time.frame.origin.x, time.frame.origin.y, time.frame.size.width, 250);的更新似乎设置了高度(通过NSLog(@"Height %f", time.frame.size.height)进行检查),但它没有重绘。我需要在之后强制刷新吗? - Toby

4
使用 UILabel 的 sizeToFit 方法可以实现这一点。
[label sizeToFit];

或者手动计算标签的大小并设置标签的框架 动态更改UILabel的字体大小


我尝试了 sizeToFit,但没有成功,下一步我会尝试你的其他建议。 - Toby
当然,我尝试过更改高度,但自动调整大小会再次压缩元素(如果我关闭此功能,则高度有效且字体将完全显示,但我还没有弄清楚如何在没有自动布局的情况下排列元素)。sizeToFit似乎没有任何影响。 - Toby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接