Swift 4.0 无法使用“(NSLayoutConstraint)”类型的参数列表调用类型 'NSLayoutConstraint' 的初始值设定项
Swift 4.0 cannot invoke initializer for type 'NSLayoutConstraint' with an argument list of type '(NSLayoutConstraint)'
我正在使用 XCode 版本 9.0 (9A235)、macOS Sierra 版本 10.12.6 (16G29)、iOS 11.0.
我需要将约束添加到数组中,然后我需要激活它。
为此我喜欢...
// 1.Declare and initialized the constraint
private lazy var labelConstraints = [NSLayoutConstraint]()
// 2.Prepare constraint
let widthConstraint =
headerLabel.widthAnchor.constraint(equalTo: licenseLabel.widthAnchor)
// 3.Constraint added into the array
labelConstraints.append(NSLayoutConstraint(widthConstraint))
// 4.Finally activate the constraints
labelConstraints.activate()
构建我的 xcode 项目后,它会抛出类似
的错误
ERROR: **cannot invoke initializer for type 'NSLayoutConstraint' with an argument list of type '(NSLayoutConstraint)'**
**labelConstraints.append(NSLayoutConstraint(widthConstraint))**
你的第一个问题在这里:
labelConstraints.append(NSLayoutConstraint(widthConstraint))
您的 widthConstraint
变量已经是 NSLayoutConstraint
,因此您无需尝试将其转换为 NSLayoutConstraint
。只需这样做:
labelConstraints.append(widthConstraint)
你的第二个问题在这里:
labelConstraints.activate()
类型 Array
没有 activate
方法。您可以像这样激活 labelConstraints
中的所有约束:
NSLayoutConstraint.activate(labelConstraints)
我正在使用 XCode 版本 9.0 (9A235)、macOS Sierra 版本 10.12.6 (16G29)、iOS 11.0.
我需要将约束添加到数组中,然后我需要激活它。
为此我喜欢...
// 1.Declare and initialized the constraint
private lazy var labelConstraints = [NSLayoutConstraint]()
// 2.Prepare constraint
let widthConstraint =
headerLabel.widthAnchor.constraint(equalTo: licenseLabel.widthAnchor)
// 3.Constraint added into the array
labelConstraints.append(NSLayoutConstraint(widthConstraint))
// 4.Finally activate the constraints
labelConstraints.activate()
构建我的 xcode 项目后,它会抛出类似
的错误ERROR: **cannot invoke initializer for type 'NSLayoutConstraint' with an argument list of type '(NSLayoutConstraint)'**
**labelConstraints.append(NSLayoutConstraint(widthConstraint))**
你的第一个问题在这里:
labelConstraints.append(NSLayoutConstraint(widthConstraint))
您的 widthConstraint
变量已经是 NSLayoutConstraint
,因此您无需尝试将其转换为 NSLayoutConstraint
。只需这样做:
labelConstraints.append(widthConstraint)
你的第二个问题在这里:
labelConstraints.activate()
类型 Array
没有 activate
方法。您可以像这样激活 labelConstraints
中的所有约束:
NSLayoutConstraint.activate(labelConstraints)