我目前正在将 SnapKit 与 Swift 结合使用,使用演练来制作测验应用程序。我目前正在制定一些约束,并想将一些新约束附加到我的约束数组中
我收到错误消息“元组类型 '()' 的值没有成员 answerButtonsConstraints”。
但是我不明白为什么。有人可以帮忙吗。
我尝试使用 SnapKits remakeConstraints 重新制作约束,但我没有得到我希望的结果。我希望我可以通过简单的语法更改来创建正确的结果,但不确定如何格式化它。非常感谢任何帮助。
var answersButtonsConstraints = [
self.answerButtons[0].snp.makeConstraints { (make) in
make.leading.equalTo(answerView)
make.trailing.equalTo(answerButtons[1].snp.leading).offset(MultipleChoiceViewController.buttonPadding)
make.top.equalTo(answerView.snp.top)
make.bottom.equalTo(answerButtons[2].snp.top).offset(MultipleChoiceViewController.buttonPadding)
},
self.answerButtons[1].snp.makeConstraints { (make) in
make.trailing.equalTo(answerView)
make.top.equalTo(answerView)
make.bottom.equalTo(answerButtons[3]).offset(MultipleChoiceViewController.buttonPadding)
},
self.answerButtons[2].snp.makeConstraints { (make) in
make.leading.equalTo(answerView)
make.trailing.equalTo(answerButtons[3].snp.leading).offset(MultipleChoiceViewController.buttonPadding)
make.bottom.equalTo(answerView)
},
self.answerButtons[3].snp.makeConstraints { (make) in
make.trailing.equalTo(answerView)
make.bottom.equalTo(answerView)
}]
for index in 1..<answerButtons.count {
answersButtonsConstraints.append().self.answerButtons[index].snp.makeConstraints { (make) in
make.height.equalTo(answerButtons[index-1].snp.height)
make.width.equalTo(answerButtons[index-1].snp.width)
}
}
}
在底部,它说 answersButtonsConstrains.append().self.answerButtons.... 是我收到错误的地方。
最佳答案
那里有语法错误:您需要将参数传递给方括号内的 append
方法,而不是在 之后。
for index in 1..<answerButtons.count {
answersButtonsConstraints.append(self.answerButtons[index].snp.makeConstraints { (make) in
make.height.equalTo(answerButtons[index-1].snp.height)
make.width.equalTo(answerButtons[index-1].snp.width)
}
})
或者如果你想让它更具可读性,可以为约束创建一个局部变量:
for index in 1..<answerButtons.count {
let constraint = self.answerButtons[index].snp.makeConstraints { (make) in
make.height.equalTo(answerButtons[index-1].snp.height)
make.width.equalTo(answerButtons[index-1].snp.width)
}
answersButtonsConstraints.append(constraint)
}
关于ios - 使用 SnapKit,发现很难将新约束附加到现有约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47472800/