首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改NSLayoutConstraint

更改NSLayoutConstraint
EN

Stack Overflow用户
提问于 2019-03-20 22:52:44
回答 1查看 37关注 0票数 0

我想更改滚动视图的宽度。首先,我这样做了:

代码语言:javascript
复制
var scrollWidthConstraint: NSLayoutConstraint!

然后设置它:

代码语言:javascript
复制
scrollWidthConstraint = contentView.widthAnchor.constraint(equalToConstant: CGFloat(scrollWidth()))
        scrollWidthConstraint.isActive = true

然后我想把它改成:

代码语言:javascript
复制
  scrollWidthConstraint = contentView.widthAnchor.constraint(equalToConstant: width)
        scrollWidthConstraint.isActive = true
        contentView.setNeedsLayout()

但是,我似乎没有删除旧的约束,我在日志中看到:

代码语言:javascript
复制
"<NSLayoutConstraint:0x6000031d7160 UIView:0x7fc92c808120.width == 1333   (active)>",
    "<NSLayoutConstraint:0x6000031fcff0 UIView:0x7fc92c808120.width == 933.1   (active)>"

如何删除旧的约束并更新它?

EN

回答 1

Stack Overflow用户

发布于 2019-03-20 22:54:19

代码语言:javascript
复制
scrollWidthConstraint = contentView.widthAnchor.constraint(equalToConstant: width)
    scrollWidthConstraint.isActive = true
    contentView.setNeedsLayout()

创建另一个约束,不管您是否将其重新分配给旧约束,您需要

代码语言:javascript
复制
scrollWidthConstraint.constant = width
view.layoutIfNeeded()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55263739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档