ios - 如何使用 SnapKit 在 iOS 中使用纵横比约束?
问题描述
我试图使用 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)
}
}
推荐阅读
- python - 如何通过引用熊猫中具有列类型详细信息的其他表来更改列数据类型?
- python - 当前的 Matplotlib 版本是否与 Python 3.8 兼容?
- python - numpy.where的直观解释?
- asp.net-mvc - 在 ASP.NET Core 中了解与我的服务器(域)的连接来自何处
- node.js - 从使用带有节点的会话 cookie 的站点下载文件
- c++ - 为什么 STL 函数使用节点的颜色来计算 std::map 节点前任
- java - 从 Java 中的 json 中获取键值 - JSON Parsing
- vue.js - 在 vue 中使用异步\等待?
- python - Tkinter 为每个单选按钮返回相同的值?
- android - 在 Android Studio 中调用 onDestroy 方法时,如何在 React Native 中调用函数?