gpt4 book ai didi

objective-c - UILabel 移除底部边距

转载 作者:行者123 更新时间:2023-12-04 00:19:34 26 4
gpt4 key购买 nike

我在使用 UILabel 时遇到了问题。我正在尝试使用 UILabel,以便容器中完全没有边距。我尝试了不同的东西,例如 sizeToFit、boundsToRect 和其他东西,但到目前为止还没有找到解决方案。

这是我的代码:

UILabel* saveLabel = [[UILabel alloc] init];
saveLabel = [[UILabel alloc] init];
saveLabel.text = "USER SAVE";
saveLabel.textAlignment = NSTextAlignmentRight;
saveLabel.layer.borderWidth = 2;
[saveLabel sizeToFit];

当我将它添加到我的 View 时,我希望底部的边框(从边框开始)接触到标签的字母,但两者之间有一个空格。

如果你想看的话,我附上了底部效果图。 http://oi62.tinypic.com/n62b0w.jpg

我真的不明白为什么会有这个边距以及如何摆脱它。所有其他边距,顶部、左侧和右侧都很好,只有底部。

如有任何帮助,我们将不胜感激,

谢谢

最佳答案

框架包括小写字母如 g 和 y 的空间,它们“下降”到文本的基线以下。在您的情况下,您只使用大写字母,因此您可能希望删除框架的下降部分。您可以通过 saveLabel.font.descender 访问下降器的高度,然后从适合的框架的高度中减去它。

[saveLabel sizeToFit];
saveLabel.frame = CGRectMake(saveLabel.frame.origin.x
saveLabel.frame.origin.y,
saveLabel.frame.size.width,
saveLabel.frame.size.height - saveLabel.font.descender);

下面这篇文章有个很好的图: https://www.cocoanetics.com/2010/02/understanding-uifont/

关于objective-c - UILabel 移除底部边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31886262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com