Xcode 自动布局:最适合正方形
Posted
技术标签:
【中文标题】Xcode 自动布局:最适合正方形【英文标题】:Xcode autolayout: best fit for square 【发布时间】:2016-08-22 16:59:50 【问题描述】:我有一个自定义方形视图,可以根据需要进行缩放。我的自定义视图只是覆盖 drawRect 来呈现内容。
包含视图是矩形,但不是正方形。纵横比因设备方向和类型而异。我需要调整我的自定义视图,使其在容器中占据最大空间,但保持 1:1 的纵横比。
如果可能的话,我想在 IB 而不是代码中设置约束。我有以下限制:
在容器中垂直居中 容器中的水平居中 纵横比 (1:1) 内容模式设置为按比例填充我尝试了各种方法来使自定义视图适合容器,这给了我 IB 布局错误,例如:
宽度 高度我不能设置任何大小相等,因为我不知道容器是垂直的还是水平的......
这似乎是一项基本任务,但我想不通。将正方形放入矩形的最佳方法是什么?
【问题讨论】:
【参考方案1】:保留已有的约束,并添加新的约束:
宽度和高度等于超级视图,但优先级低于纵横比约束 宽度和高度【讨论】:
【参考方案2】:前三个约束是对的,去掉其他的并设置
前导或尾随和 顶部或底部对超级视图的约束
现在选择新添加的约束,使它们 >=(大于或等于)为 0。
现在您需要为您的视图提供宽度或高度约束,它可以从其子视图中获得它,就像我们为滚动视图所做的那样,或者为您的视图提供等于 320 的宽度并使其也大于或等于。
【讨论】:
以上是关于Xcode 自动布局:最适合正方形的主要内容,如果未能解决你的问题,请参考以下文章