如何以编程方式更改在 IB 中创建的 AutoLayout 约束中的常量?

How to change constants in AutoLayout constraints that are created in IB programmatically?

我有一个 UITableViewCell 代表一个玩家,有一张头像,两个标签和另外两个状态相关 UIImageViews

我已经在 Storyboards 中设置了带有 AutoLayout 约束的单元格,并且效果很好。唯一的小问题是单元格的宽度有时(取决于它的状态)对于 iPhone 4 和 iPhone 5 有点太宽了。我已经设置了水平间距(前导和尾随spaces 在元素之间)相当慷慨,这使得它在较大的 iPhones 6 和 6 plus 上看起来不错。

但是,当我在 iPhone 4 或 5 上时,我想删除约束常量中的几个点。大小 classes 在这里对我没有帮助,因为我的应用程序只能在纵向模式下使用,所以这里所有 iPhone 的尺寸都相同 class。 我正在寻找的是一种简单的方法来调整水平 space 约束的常量,这些约束是我在代码中的故事板中设置的。

我已经为任何 UI 元素分配了一个类似的变量 - NSLayoutConstraint。

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *labelConstraint;

在代码中你会做这样的事情:

self.labelConstraint.constant = 10;