繁体   English   中英

以编程方式更改约束后,视图不会更新

[英]View doesn't update after changing constraints programmatically

我想以编程方式更改约束的关系,这就是为什么我创建一个新约束并将其替换为旧约束的原因。 我有一个要更改的约束的IBOutlet。 因为我使用的是multi-os-engine,所以我更新约束的代码看起来与普通的objectiv-c或swift有点不同。

setBasketTopConstraint(
        NSLayoutConstraint.constraintWithItemAttributeRelatedByToItemAttributeMultiplierConstant(
            basketTopConstraint().firstItem(),
            basketTopConstraint().firstAttribute(),
            NSLayoutRelation.LessThanOrEqual,
            basketTopConstraint().secondItem(),
            basketTopConstraint().secondAttribute(),
            basketTopConstraint().multiplier(),
            basketTopConstraint().constant()
    )
);

我的问题是,更改约束后看不到任何影响。 似乎我需要以某种方式刷新自己的观点。 我调用了view().setNeedsLayout()view().layoutIfNeeded()但没有成功。

有什么建议吗?

您需要确保自己:

  1. 安装任何新约束并激活它们
  2. 停用和/或删除所有旧约束
  3. 调用layoutIfNeeded()

您是否尝试添加代码以更改视图将布局子视图的约束?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM