gpt4 book ai didi

ios - 如何以编程方式声明一次约束并在需要时在 Swift 中调用它?

转载 作者:行者123 更新时间:2023-11-29 02:21:06 25 4
gpt4 key购买 nike

viewDidLoad 中,我声明了一个约束并以这种方式将其添加到 UIViewController 中:

var constraintButtonPlay = NSLayoutConstraint (item: buttonPlay, 
attribute: NSLayoutAttribute.Bottom,
relatedBy: NSLayoutRelation.Equal,
toItem: self.view,
attribute: NSLayoutAttribute.Bottom,
multiplier: 1,
constant: 500)

self.view.addConstraint(constraintButtonPlay)

按下按钮时,约束应自行更新。但是,此代码不起作用:

@IBAction func buttonTest(sender: AnyObject) {

var constraintButtonPlay = NSLayoutConstraint (item: buttonPlay,
attribute: NSLayoutAttribute.Bottom,
relatedBy: NSLayoutRelation.Equal,
toItem: self.view,
attribute: NSLayoutAttribute.Bottom,
multiplier: 1,
constant: -500)

}

现在,我意识到再次声明变量并不是理想的解决方案。那么有没有办法声明一次并在@IBAction中调用它?

为什么 @IBAction 代码没有更新约束?

最佳答案

您在两个不同的范围内声明了两个局部变量,因此它们实际上是两个不同的对象并且它们根本不相关,即使您为它们指定了相同的名称也是如此。

viewDidLoad 中创建约束后,尝试将其存储在属性中。

关于ios - 如何以编程方式声明一次约束并在需要时在 Swift 中调用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28128102/

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