如何在 iOS 中删除 UILabel 中的插图
Posted
技术标签:
【中文标题】如何在 iOS 中删除 UILabel 中的插图【英文标题】:How to remove insets in UILabel in iOS 【发布时间】:2016-05-31 14:55:25 【问题描述】:我有带有文本 D 的简单标签,我使用 sizeToFit 我得到高度 21.5
但我看到大约 2px 的填充
如何去除?
我尝试 layoutMargins = UIEdgeInsetsZero - 但没有效果
【问题讨论】:
尝试将文本设置为 Dj,看看底部是否发生了魔法? 无变化。仅移除底部 那是因为字体高度。我 j 删除了底部填充,这意味着可能有一些比 D 高的字符会到达实验室的顶部 【参考方案1】:您可能想尝试将UILabel
子类化并覆盖drawTextInRect:
:
- (void)drawTextInRect:(CGRect)rect
[super drawTextInRect:UIEdgeInsetsInsetRect(rect, UIEdgeInsetsMake(0., 0., 0., 0.))];
【讨论】:
【参考方案2】:CGRect frame = CGRectMake(0, 0, 120, 30);
UIEdgeInsets contentInsets = UIEdgeInsetsMake(0, 0, 0, 0);
CGRect labelFrame = UIEdgeInsetsInsetRect(frame, contentInsets);
UILabel *label = [[UILabel alloc] initWithFrame:labelFrame];
【讨论】:
以上是关于如何在 iOS 中删除 UILabel 中的插图的主要内容,如果未能解决你的问题,请参考以下文章