ios - 自动布局约束优先级

标签 ios autolayout nslayoutconstraint

我有 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/

相关文章:

ios - UITableViewCell 不会为 RTL objective-c 翻转 subview

ios - JSONModel:填充泛型类型的 NSArray

ios - UIScrollView 无法使用自动布局和动态约束滚动

ios - Xcode Using Auto Layout 不会为每个 iPhone 型号优化屏幕

ios - 如何使用自动布局将内容按屏幕尺寸的百分比 IOS

ios - swift 错误 : Unresolved Identifier "NSLayoutAttributeWidth"

ios - Facebook iOS 应用程序无法在设备上登录

iphone - 自定义委托(delegate)未接听电话

ios - 我希望两个按钮具有相同的宽度并使用自动布局从屏幕顶部按比例在所有屏幕尺寸中定位自己?

ios - 需要根据设备方向改变 NSLayoutConstraint 的乘数 : where to do it?