如何使用 SnapKit 在 iOS 中使用纵横比约束?
How to use aspect ratio constraint in iOS using SnapKit?
我正在尝试使用 snapkit 创建纵横比约束 1:1。如果我要使用故事板,那可以简单地使用宽高比约束工具来实现,但是使用 SnapKit,这似乎并不那么容易。
我怎样才能做到这一点?
你可以这样做:
view.snp.makeConstraints { (make) in
make.width.equalTo(view.snp.height).multipliedBy(1.0 / 1.0)
}
仅使用 iOS 以下扩展有效:
extension UIView {
func aspectRatio(_ ratio: CGFloat) -> NSLayoutConstraint {
return NSLayoutConstraint(item: self, attribute: .height, relatedBy: .equal, toItem: self, attribute: .width, multiplier: ratio, constant: 0)
}
}
我正在尝试使用 snapkit 创建纵横比约束 1:1。如果我要使用故事板,那可以简单地使用宽高比约束工具来实现,但是使用 SnapKit,这似乎并不那么容易。
我怎样才能做到这一点?
你可以这样做:
view.snp.makeConstraints { (make) in
make.width.equalTo(view.snp.height).multipliedBy(1.0 / 1.0)
}
仅使用 iOS 以下扩展有效:
extension UIView {
func aspectRatio(_ ratio: CGFloat) -> NSLayoutConstraint {
return NSLayoutConstraint(item: self, attribute: .height, relatedBy: .equal, toItem: self, attribute: .width, multiplier: ratio, constant: 0)
}
}