【发布时间】:2020-05-19 13:29:29
【问题描述】:
我尝试使用 snapkit 创建一个 1:1 的纵横比约束。如果我要使用情节提要,这可以简单地使用纵横比约束工具来实现,但是使用 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)
}
}
【讨论】: