ios - 对相同大小的类别有不同约束的任何解决方法?

标签 ios autolayout nslayoutconstraint size-classes

假设我需要一个具有前导和尾随间距的 View ,在 iPhone SE 上间距应该是 16,在较大的手机上我可以有 32 作为间距,但是在纵向模式下水平尺寸类总是紧凑的,这意味着我不能为不同的尺码类别应用不同的间距。

然后我考虑使用 High 优先级约束而不是 Required,并使 View 的固有内容大小为 288,所以在 iPhone SE 上,间距必须是 16 和 16(即 16 + 288 + 16 = 32),但在更大的手机上它可以是 32。没试过但有人能指出解决这个问题的正确方向吗?

谢谢!

编辑: 该 View 实际上是一个 UILabel,我不想给它一个硬编码的宽度约束。

最佳答案

我通过使用约束乘数来更普遍地解决这些问题。它可能不完全是 16/32,但您可以获得类似的效果。

您可以设置硬限制,例如要求的最小值 16、要求的最大值 32,然后设置另一个较低优先级的父宽度约束 * someMultiplier

关于ios - 对相同大小的类别有不同约束的任何解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46208723/

相关文章:

ios - 为什么当我将 UILabel 移动到某个点时,它会在我进入全屏模式时移动?

objective-c - 使用类将 NSString 传递到另一个 ViewController

ios - 在线/离线数据管理

ios - NSLayoutConstraint 不适用于 uibutton 和 uilabel

ios - UIView 的 subview 在边界外渲染

ios - Swift - 向 UITextfield 添加带有间距的底线

ios - 无法同时满足约束,将尝试通过打破约束来恢复

ios - App Store 没有显示我的应用内购买列表

ios - '?' 后面必须跟一个调用、成员查找或下标

ios - 使用自动布局在 CollectionView 的 CollectionViewCell 中自动调整图像大小