swift - 更改 View 宽度约束

标签 swift autolayout

我这样设置 UIView 的宽度:

contentView.widthAnchor.constraint(equalToConstant: CGFloat(scrollWidth())).isActive = true

现在我想改变那个宽度。问题是:如何删除旧约束并添加新约束?我确实像这样创建了 NSLayoutConstraint

scrollWidthConstraint = NSLayoutConstraint(
    item: contentView,
    attribute: .width,
    relatedBy: .equal,
    toItem: nil,
    attribute: .notAnAttribute,
    multiplier: 1.0,
    constant: CGFloat(scrollWidth())
)

如何为 UIView 设置约束以供以后更改?

最佳答案

首先更好更简短地使用它并为其分配一个引用

var widCon:NSLayoutConstraint! 

widCon = contentView.widthAnchor.constraint(equalToConstant: CGFloat(scrollWidth()))
widCon.isActive = true

而不是 NSLayoutConstraint(item: contentView, 然后更改它的常量

widCon.constant = ////

关于swift - 更改 View 宽度约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55261834/

相关文章:

ios - 将自动布局与核心动画相结合

swift - Xcode Swift在项目中使用.db数据库

ios - 将 Swift 添加到 Objective-C 项目编译错误

两次引发 iOS Storyboard事件 (SWIFT)

ios - 如何彻底重命名 Xcode 中的通用框架?

ios - 使用 autoLayout 进行动态 View 更改(即 UILabel)

ios - 如何使用自动布局来布局三个项目水平相等

ios - UICollectionViewCell 和自动布局缩放

iPhone 5 无法正常显示应用程序

swift - 在Combine 中按顺序调用链式网络