UILabel 有错误的框架。迅速
Posted
技术标签:
【中文标题】UILabel 有错误的框架。迅速【英文标题】:UILabel has wrong frame. Swift 【发布时间】:2018-08-13 16:24:33 【问题描述】:我在一个单元格中添加了四个 UILabel,似乎我添加了所有必要的约束,但我无法使我的标签具有与其文本内容相等的框架。也不能设置高度。标签看起来像这样(文字出现在中心,边框很大):
我希望它是这样的:
另外,我以编程方式做所有事情,所以我不是在寻找使用 Interface Builder 的解决方案
【问题讨论】:
会不会是字体大小? 请展示您迄今为止尝试过的代码,以便我们为您提供帮助 分享你到目前为止所做的事情会有所帮助。有太多的事情可能导致这种情况。我们需要查看您的代码才能缩小解决方案的范围。 【参考方案1】:如果您希望标签是内容的大小,请将 Content Hugging Priority 设置为 .required
:
label.setContentHuggingPriority(.required, for: .horizontal)
label.setContentHuggingPriority(.required, for: .vertical)
这将防止较低优先级的约束拉伸您的标签。
【讨论】:
【参考方案2】:label.font = label.font.withSize(label.frame.height)
【讨论】:
以上是关于UILabel 有错误的框架。迅速的主要内容,如果未能解决你的问题,请参考以下文章
动画父 UIView 的框架(大小)时自动调整 UILabel 的框架