我已经看到UILabel
内在大小似乎并不完全符合它所包含的字符。
正如您在图片中看到的那样,标签在顶部和底部有一些边距。我可以使用基线(title.baseline == subtitle.top
)使“Subtitle”更接近“TITLE”,但我还想将“TITLE”与其父级对齐。
如果可能,我想使用autolayout约束。
答案 0 :(得分:1)
快速修复
如果您的字体大小对于标签是常量,您可以尝试继承UILabel
并覆盖- (CGSize)intrinsicContentSize
-(CGSize)intrinsicContentSize {
CGSize intrinsicSize = [super intrinsicContentSize];
intrinsicSize.height -= 8; // Works good for system font size 17.0
return intrinsicSize;
}
您可能需要使用intrinsicSize.height -= 8;
来获得所需的输出。