我有一个自定义的方形 View ,可以根据需要放大和缩小。我的自定义 View 只是覆盖drawRect来渲染内容。
包含 View 是一个矩形,但不是正方形。宽高比根据设备方向和类型而变化。我需要调整我的自定义 View ,以便它占用容器中的最大空间,但保留 1:1 的纵横比。
如果可能的话,我想在 IB 而不是代码中设置约束。我有以下限制:
- 在容器中垂直居中
- 容器中水平居中
- 纵横比 (1:1)
- 内容模式设置为缩放以填充
我尝试了各种方法来使自定义 View 适合容器,这给我带来了 IB 布局错误,例如:
- 宽度<=容器宽度
- 高度 <= 容器高度
我无法将任何尺寸设置为相等,因为我不知道容器是垂直还是水平...
这似乎是一项基本任务,但我无法弄清楚。在矩形中填充正方形的最佳方法是什么?
最佳答案
保留已有的约束,并添加新的约束:
- 宽度和高度等于 super View ,但优先级低于宽高比限制
- 宽度和高度<= super View 大小
关于ios - Xcode 自动布局 : best fit for square,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39084975/