我有一个UILabel
,但是出于某种原因,它在顶部和底部都有多余的填充。我希望标签的高度恰好是其中的文本的高度。
我一直在寻找其他问题,似乎找不到真正可行的解决方案。或者该解决方案要求您在VC的layoutSubviews
方法中调用某些内容,但是我希望所有视图代码都存储在视图文件中。
有人知道如何解决此问题吗?
答案 0 :(得分:-2)
您可以继承UILabel的子类,然后重写如下所示的drawTextInRect方法
- (void)drawTextInRect:(CGRect)rect {
UIEdgeInsets insets = {-5,0, -5, 0}; //top,left,bottom,right
[super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
}
或者快速
override func drawText(in rect: CGRect) {
let insets = UIEdgeInsets.init(top: -5, left: 0, bottom: -5, right: 0)
super.drawText(in: UIEdgeInsetsInsetRect(rect, insets))
}
根据您的需要进行更新