首页 > 解决方案 > 如何使用 SnapKit 在 iOS 中使用纵横比约束?

问题描述

我试图使用 snapkit 创建一个 1:1 的纵横比约束。如果我要使用情节提要,这可以简单地使用纵横比约束工具来实现,但是使用 SnapKit,这似乎并不那么容易。

我怎样才能做到这一点?

标签: iosswiftsnapkit

解决方案


你可以这样做:

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)
    }
}

推荐阅读