UILabel 移除底部边距
UILabel remove bottom margin
我在使用 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];
当我将它添加到我的视图时,我希望底部的边框(从边框开始)接触到标签的字母,但中间有一个 space。
我附上底部效果图,要看的话。
http://oi62.tinypic.com/n62b0w.jpg
我真的不明白为什么会有这个边距以及如何去掉它。
其他边距,上左右都可以,只有下边距。
如有任何帮助,我们将不胜感激,
谢谢
框架包括 space 小写字母,例如 g 和 y,它们 'descend' 低于文本的基线。在您的情况下,您只使用大写字母,因此您可能希望删除框架的下降部分。您可以通过 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/
我在使用 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];
当我将它添加到我的视图时,我希望底部的边框(从边框开始)接触到标签的字母,但中间有一个 space。
我附上底部效果图,要看的话。 http://oi62.tinypic.com/n62b0w.jpg
我真的不明白为什么会有这个边距以及如何去掉它。 其他边距,上左右都可以,只有下边距。
如有任何帮助,我们将不胜感激,
谢谢
框架包括 space 小写字母,例如 g 和 y,它们 'descend' 低于文本的基线。在您的情况下,您只使用大写字母,因此您可能希望删除框架的下降部分。您可以通过 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/