我的UIView
有两个子视图:
UIActivityIndicatorView
UIlabel
UIView
尺寸基于UIActivityIndicatorView
和UIlabel
NSLayoutConstraints
。
首先,UIView
的顶部链接到UIActivityIndicatorView
的顶部,当我想取消激活该约束并激活UIView
顶部的约束时链接到UIlabel
的顶部我执行此操作:
_labelLayoutConstraintTopToSuperViewTop.active = YES;
_labelLayoutConstraintTopToActivityIndicatorViewBottom.active = NO;
这会产生警告,但是当我将其切换为此时:
_labelLayoutConstraintTopToActivityIndicatorViewBottom.active = NO;
_labelLayoutConstraintTopToSuperViewTop.active = YES;
我再也没有收到警告,直到我再次将视图顶部链接到UIActivityIndicatorView
。
有没有办法将这些更改放在批处理中?我误会了什么吗?我尝试使用setNeedsUpdateConstraints
,updateConstraintsIfNeeded
,setNeedsLayout
和layoutIfNeeded
,但都没有成功。
我希望我能够清楚,thnx。
答案 0 :(得分:1)
这个,我无法弄清楚。
一旦我激活约束,我就会收到一条关于我可能不想要的约束的警告,这是正确的,因为我在下一行上取消激活该约束!
我现在的解决方法是将标签的顶部附加到活动指示器的顶部,并根据需要增加/减少常量。