Ios 以后以编程方式更改set-NSLayoutConstraint

Ios 以后以编程方式更改set-NSLayoutConstraint,ios,nslayoutconstraint,Ios,Nslayoutconstraint,我正在代码中创建一个视图(没有xib或故事板)并在代码中设置约束,如: NSDictionary *bindings = NSDictionaryOfVariableBindings(_myView); _myView = [[UIView alloc] init]; [self.view addSubview:_myView]; _myView.translatesAutoresizingMaskIntoConstraints = NO; [self.view addConstraints:

我正在代码中创建一个视图(没有xib或故事板)并在代码中设置约束,如:

NSDictionary *bindings = NSDictionaryOfVariableBindings(_myView);
_myView = [[UIView alloc] init];
[self.view addSubview:_myView];
_myView.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addConstraints: [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[_myView]-0-|" options:0 metrics:nil views:bindings ] ];
[self.view addConstraints: [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[_myView(25)]" options:0 metrics:nil views:bindings ] ];
稍后在另一个方法中,我想更改
\u myView
的位置,并设置此更改的动画

我的问题是: 更改设置约束的最佳/正确方法是什么?
我不知道如何更改,例如X和Y位置。例如,我将这两个值都设置为0,并希望将X和Y更改为50。

约束与任何其他对象类似,如果以后要更改它们,请创建属性

@property (nonatomic, strong) NSLayoutConstraint *centerConstraint;

然后将其设置为特定约束,将其添加到视图中,您可以稍后删除并重新添加它。

确定,谢谢。这是唯一合适的方法吗?例如,当我有10个UIView,每个视图有2个约束要更改时,我必须定义20个约束属性…您可以使用一个约束数组的属性,并使用
-addConstraints:
等添加和删除。您可以在方法中隐藏添加并调用该属性。无论哪种方式,自动布局都是冗长的。