Xcode 7.3.1 中 UILabel 顶部和底部的额外空间

问题描述 投票:0回答:2

我目前在我的 UILabel 的顶部和底部获得了额外的空间。我将它设置为 24 号字体,但它可以小到 14 号(这是为了帮助文本在 4s 等较小的手机上使用时适合)而且我将行数限制为 7。除此之外,我没有任何强制它达到一定高度的约束,我让 Xcode 决定,但我不明白为什么它要添加额外的空间。查看我所有设置的图像。

UILabel 属性

Size Inspector 约束

在 Xcode 中查看

iOS 中的结果

我确实有圆角和添加阴影的代码,但我认为它不会影响顶部和底部间隙,因为它甚至在代码运行之前就已显示在 Xcode 中。

作为解释,16 的约束使宽度与白色背景的宽度相匹配。 6 的约束是调整 UILabel 周围深绿色背景的大小。

编辑:添加完整约束列表

编辑 2:添加 XIB 图像

ios swift uilabel
2个回答
1
投票

尝试移除对底部的约束,让 UILabel 为您决定高度。

使用 UILabel 你不能垂直对齐到顶部,这个答案可以帮助你理解:https://stackoverflow.com/a/1054681/5109911


0
投票

正如我在评论中提到的,iOS 开发人员 14 年,自从自动布局问世以来,Apple 一直留下这个错误,它与最小尺寸或最小字体比例(无论您选择使用哪个)有关。在您的示例中,您的字体大小为 24,最小设置为 14,因此您将看到大约 10/24ths 的额外空间在顶部和底部之间划分。我从来没有找到解决这个问题的方法,并且已经尝试了很多年。从字面上看必须重建一切并自己手动调整字体并避免最小字体大小和比例。我记得一个有趣的实验是使用 Chat GPT 找出解决方案,Chat GPT 首先试图告诉我所有我可能做错的事情,然后最后说“你是对的,这可能是 Apple 的错误” .好笑的是,它最终得出了真正的理解:Apple 并没有解决所有问题。

© www.soinside.com 2019 - 2024. All rights reserved.