1 constraints swift ios-autolayout
我正在使用xcode 9 beta 5.我实际上添加了逆向
addConstraint(NSLayoutConstraint.constraints(withVisualFormat: "H: |-16-[v0]-16-|" , options: NSLayoutFormatOptions(), metrics: nil, views: ["v0":thumbnailImageView]))
addConstraint(NSLayoutConstraint.constraints(withVisualFormat: "V: |-16-[v0]-16-|" , options: NSLayoutFormatOptions(), metrics: nil, views: ["v0":thumbnailImageView]))
Run Code Online (Sandbox Code Playgroud)
我收到了错误.
addConstraint(NSLayoutConstraint.constraints(withVisualFormat: "H: |-16-[v0]-16-|" , options: NSLayoutFormatOptions(), metrics: nil, views: ["v0":thumbnailImageView]))
addConstraint(NSLayoutConstraint.constraints(withVisualFormat: "V: |-16-[v0]-16-|" , options: NSLayoutFormatOptions(), metrics: nil, views: ["v0":thumbnailImageView]))
Run Code Online (Sandbox Code Playgroud)
如何删除此错误?
vac*_*ama 10
问题是NSLayoutConstraint.constraints(withVisualFormat:options:metrics:views)返回一组约束,而不仅仅是一个约束.
从iOS8开始,建议激活约束而不是将它们添加到视图中.对于单个约束,您可以将其isActive属性设置为true,并且iOS会将该约束添加到正确的视图以激活它.
对于多个约束,使用NSLayoutConstraint.activate激活约束而不是将它们添加到视图中:
NSLayoutConstraint.activate(NSLayoutConstraint.constraints(withVisualFormat: "H:|-16-[v0]-16-|", metrics: nil, views: ["v0":thumbnailImageView]))
NSLayoutConstraint.activate(NSLayoutConstraint.constraints(withVisualFormat: "V:|-16-[v0]-16-|", metrics: nil, views: ["v0":thumbnailImageView]))
Run Code Online (Sandbox Code Playgroud)
UIView 有两种添加约束的方法:
func addConstraint(_ constraint: NSLayoutConstraint)
一个希望将单个 NSLayoutConstraint和
func addConstraints(_ constraints: [NSLayoutConstraint])
它期望的阵列的NSLayoutConstraint实例
只需使用适当的API
| 归档时间: |
|
| 查看次数: |
2561 次 |
| 最近记录: |