gpt4 book ai didi

ios - 如何更改以编程方式为 UIButton 添加的约束

转载 作者:搜寻专家 更新时间:2023-10-31 22:10:20 27 4
gpt4 key购买 nike

我在代码中为 UIButton 添加了约束:

topBtn.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
topBtn.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 50)
])

稍后,如果我单击某个按钮,我希望删除此约束并将其更改为

NSLayoutConstraint.activate([
topBtn.topAnchor.constraint(equalTo: self.view2.topAnchor, constant: 50)
])

如何实现?我试过了

NSLayoutConstraint.deactivate([
topBtn.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 50)
])

但它没有效果,XCode 提示我无法满足约束条件。

最佳答案

将对约束的引用另存为

let topConstraint = topBtn.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 50)

稍后使用

激活它
NSLayoutConstraint.activate([topConstraint])

最后,当您需要删除常量时,只需说

button.removeConstraint(topConstraint)

然后添加新的约束为

NSLayoutConstraint.activate([
topBtn.topAnchor.constraint(equalTo: self.view2.topAnchor, constant: 50)
])
button.layoutIfNeeded()

关于button.layoutIfNeeded的使用请引用UpHoldoerOfTruth下方评论

就是这样。希望对你有帮助

关于ios - 如何更改以编程方式为 UIButton 添加的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48048422/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com