ios - 制作 UILabel 高度,使其完全适合它包含的字符(使用自动布局)

标签 ios autolayout alignment uilabel

我发现 UILabel 的内在大小似乎并不完全适合它包含的字符。

enter image description here

正如您在图片中看到的,标签在顶部和底部都有一些边距。我可以使用基线(title.baseline == subtitle.top)使“Subtitle”更接近“TITLE”,但我也想将“TITLE”与其父顶部对齐。

如果可能,我想使用自动布局约束。

最佳答案

快速修复

如果标签的字体大小不变,您可以尝试子类化 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; 来获得所需的输出。

关于ios - 制作 UILabel 高度,使其完全适合它包含的字符(使用自动布局),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34055845/

相关文章:

iphone - 项目使用QuartzCore时,Xcode怎么没有自动链接?

ios - ios:uiscrollview和uiview自动布局

css - 在不使用 div 宽度的情况下将图像和一些文本对齐在同一行上?

html - 面包屑中的 css3 加载程序对齐

css div定位

ios - RestKit - RKRequestDelegate 不存在

ios - 调用的 Swift 结果未使用

ios - MFMailComposeViewController 自定义

ios - Auto Layout垂直空间计算方法

ios - 从 viewDidLoad 更改时,UIView 位置不遵守 NSLayoutConstraint