使用自动布局制作完美的正方形

Posted

技术标签:

【中文标题】使用自动布局制作完美的正方形【英文标题】:Using auto-layout to make a perfect square 【发布时间】:2015-03-17 19:53:58 【问题描述】:

我有一个带有 imageview 的视图。我希望能够使图像视图始终保持完美的正方形,但我不完全确定如何使用自动布局来实现这一点。

我的屏幕目前看起来是这样的:

无论宽度尺寸如何,图像视图都是我想要的方形。我知道这可能可以在有约束的情况下完成,并且我已经尝试过,但最终无法弄清楚如何实现这一目标。这可能是由于我对自动布局、故事板和一般的 ios 开发相对缺乏经验

【问题讨论】:

【参考方案1】:

您应该为方形视图设置 4 个约束:Top SpacingLeading SpacesTrailing SpacesAspect Ratio。如下图所示:

确保正方形的纵横比为 1:1

希望这对自动布局有所帮助并祝你好运!

【讨论】:

这适用于纵向,但是当设备旋转到横向时如何正确处理尺寸?【参考方案2】:

存在纵横比限制。您可以将其设置为 1:1

【讨论】:

【参考方案3】:

如果您使用的是 IB:在情节提要中,从图像视图中按住 Control 并拖动到自身。您将能够设置纵横比约束并将其值(“乘数”)设置为 1:1。当然,您也需要以某种方式设置宽度或高度。

从代码中,只需添加另一个约束,使视图的宽度等于视图的高度。

【讨论】:

以上是关于使用自动布局制作完美的正方形的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自动布局在情节提要上使网格并排 uiview 响应

iOS 约束 代码自动布局 正方形控件

使用自动布局更改约束

自动布局设置六个方形图像

UIView 使用约束自动布局居中和调整大小

使用自动布局扩展方形视图以填充矩形超级视图