以编程方式访问自动布局约束

我有一个有很多子视图的视图,我将这些视图称为superview,子视图A,子视图B,子视图C等。

所以我需要访问我在subView A上设置的尾随空间约束来superview并修改它。 此约束将出现在superview.constraints中。

但是,所有子视图都在它们和superview之间设置了前导/尾随空间约束。

所以,如果我记录superview.constraints,它看起来像这样:

( , , , , , , , , , , , , , , , , , ,  

我不知道哪个约束是我想要的。

好吧我明白了。 NSLayoutConstraint有一个名为firstItem的属性和一个属性secondItem。 这些是设置约束的视图。

通常,secondItem将是视图本身。 因此,view.constraints [0] .secondItem是视图。

为您感兴趣的人创建一个IBOutlet。您可以从canvas中的约束(有时很难做),或从左侧场景列表中的约束列表中创建。

对我来说,其他方式和简单方法是按Ctrl +拖动Constraint的Outlet到ViewController.m或ViewController.h文件,你可以设置/获取它的常量,优先级,第一项,第二项等。