如何使用 SnapKit 在 iOS 中使用纵横比约束?

Posted

技术标签:

【中文标题】如何使用 SnapKit 在 iOS 中使用纵横比约束?【英文标题】:How to use aspect ratio constraint in iOS using SnapKit? 【发布时间】:2020-05-19 13:29:29 【问题描述】:

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

我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

你可以这样做:

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 在 iOS 中使用纵横比约束?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Flexslider 在 iOS 上显示不同纵横比的图片?

iOS Swift - 如何获取本地和远程视频的纵横比?

iOS 纵横比约束在 iOS 7 上中断,适用于 iOS 8

关于如何在 Ios 中放置纵横比的问题。

如何在 xib 文件中使用子视图和超级视图之间的纵横比?

如何使用 HTML IMG 标签保持纵横比