ios - Xcode 自动布局 : best fit for square

标签 ios xcode autolayout

我有一个自定义的方形 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/

相关文章:

ios - 为什么我在 iPhone X 模拟器的底部看到白色区域?

iphone - 登录FB后如何发帖到墙

ios - 嵌套的UIVIew animateWithDuration不尊重补全

ios - 断断续续的分页 UIScrollView 体验

iphone - 忽略文件 [路径] 文件中缺少所需的架构 i386

ios - Today ViewController 的主视图右移

xcode - 条件绑定(bind)中的绑定(bind)值必须是 Swift 中的 Optional 类型

ios - 可变的构图,向带有帧的视频中添加音频时失去方向

iphone - 在 UITableViewCell 中添加 UITableView。基于内容的TableView高度制作

ios - 无论分辨率如何,自动布局缩放总是会产生相同的结果吗?