Ios (取消)激活多个NSLayoutConstraints?

Ios (取消)激活多个NSLayoutConstraints?,ios,autolayout,Ios,Autolayout,我有一个ui视图,有两个子视图: UIActivityIndicatorView ui标签 UIView大小基于UIActivityIndicatorView和UIlabel以及NSLayoutConstraints 首先,ui视图的顶部链接到ui活动指示器视图的顶部,当我想取消激活该约束并激活ui视图顶部链接到ui标签顶部的约束时,我正在执行以下操作: _labelLayoutConstraintTopToSuperViewTop.active = YES; _labelLayoutCon

我有一个
ui视图
,有两个子视图:

  • UIActivityIndicatorView
  • ui标签
UIView
大小基于
UIActivityIndicatorView
UIlabel
以及
NSLayoutConstraints

首先,
ui视图的顶部
链接到
ui活动指示器视图的顶部
,当我想取消激活该约束并激活
ui视图顶部
链接到
ui标签顶部的约束时,我正在执行以下操作:

_labelLayoutConstraintTopToSuperViewTop.active = YES;
_labelLayoutConstraintTopToActivityIndicatorViewBottom.active = NO;
这将导致一个警告,但当我将此切换为此时:

_labelLayoutConstraintTopToActivityIndicatorViewBottom.active = NO;
_labelLayoutConstraintTopToSuperViewTop.active = YES;
我不会再收到警告,直到我再次将视图顶部链接到
UIActivityIndicatorView

有没有办法将这些更改放在一个批中或其他地方?我是不是误解了什么?我试图使用
setNeedsUpdateConstraints
updateconstraintsfeed
setNeedsLayout
layoutifneed
,但都没有成功


我希望我足够清楚,thnx。

如果是这样,我想不出来

一旦我激活一个约束,我就会收到一个关于我可能不想要的约束的警告,这是正确的,因为我正在下一行取消激活该约束


我现在的解决办法是将标签顶部连接到活动指示器顶部,并根据需要增加/减少常数。

我遇到了类似的情况。我想要一个batch NSLayoutConstraint方法,该方法允许您同时应用一系列激活/停用,但无法找到该方法。@ChrisPrince您可以这样做,但仅使用激活或停用,请参见以下示例:编辑:我想您已经知道,但以防万一:)点头。正确的。我在寻找形式为
NSLayoutConstraint.change({constraint1.isActive=false,constraint2.isActive=false…})的东西。