我有 2 UILabel labelAlabelB,宽度为 320 像素。我创建了约束
H:|-[labelA]-(>=4)-[labelB]-|
不幸的是, labelAlabelB 有时可能很大,如果不截断就不适合。我想确保无论如何, labelB 都不会被截断。 ( labelB 不会超过 160 像素)。但是,我想尽可能多地使用 labelA 的可用空间,因此将 labelB 固定为一半只是浪费空间。

问题: 如何设置优先级,使 labelB 始终保持其固有大小?其中 labelA 可以被截断。

最佳答案

您在标签 B 上将内容压缩阻力设置为高:

[labelB setContentCompressionResistancePriority: UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];

这意味着 B 将尽量不压缩到低于文本给出的固有大小。为了使其尽可能小,您可能还需要设置 contentHuggingPriority - 这将使其尝试匹配文本的大小。

关于ios - 自动布局约束优先级,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18536634/

10-15 14:08