我想以编程方式更改约束的关系,这就是为什么我创建一个新约束并将其替换为旧约束的原因。我有一个要更改的约束的IBOutlet。因为我使用的是多操作系统引擎,所以用于更新约束的代码看起来与普通的objectiv-c或swift有点不同。
setBasketTopConstraint(
NSLayoutConstraint.constraintWithItemAttributeRelatedByToItemAttributeMultiplierConstant(
basketTopConstraint().firstItem(),
basketTopConstraint().firstAttribute(),
NSLayoutRelation.LessThanOrEqual,
basketTopConstraint().secondItem(),
basketTopConstraint().secondAttribute(),
basketTopConstraint().multiplier(),
basketTopConstraint().constant()
)
);
我的问题是,我不能看到从改变约束任何影响。似乎我需要以某种方式刷新自己的观点。我打电话给view().setNeedsLayout()
和view().layoutIfNeeded()
,但没有成功。
有什么建议吗?
答案 0 :(得分:1)
您需要确保自己:
layoutIfNeeded()
答案 1 :(得分:0)
您是否尝试添加代码以更改视图中的约束将布局子视图?