我在名为UIViewController
的{{1}}类中声明了一个约束。这是代码的样子:
Home
但是,我收到此错误:class Home: UIViewController {
@IBOutlet weak var buttonUpgrade: UIButton!
var constraint = NSLayoutConstraint (item: buttonUpgrade,
attribute: NSLayoutAttribute.Bottom,
relatedBy: NSLayoutRelation.Equal,
toItem: self.view,
attribute: NSLayoutAttribute.Bottom,
multiplier: 1,
constant: 500)
...
}
。为什么呢?
您可以从此处下载项目:https://www.dropbox.com/s/x7avclri0ijw3pd/DemoConstraints.zip?dl=0。
答案 0 :(得分:2)
如前所述,您无法在函数外部编写此类代码。但是你能做的就是声明你的变量全局(在函数之外):
var constraint:NSLayoutConstraint!
然后你可以在例如viewDidLoad
- 方法中初始化它,该方法将被调用一次:
constraint = NSLayoutConstraint (item: buttonUpgrade,
attribute: NSLayoutAttribute.Bottom,
relatedBy: NSLayoutRelation.Equal,
toItem: self.view,
attribute: NSLayoutAttribute.Bottom,
multiplier: 1,
constant: 500)
执行此操作后,您可以从班级中的任何位置访问约束变量。在使用之前,请确保填充变量。