图像视图autolayout从水平边缘固定到60pt,但自动刻度高度?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像视图autolayout从水平边缘固定到60pt,但自动刻度高度?相关的知识,希望对你有一定的参考价值。

我正试图找出以下方法:

我有一个正方形图像,我想在屏幕中心水平和垂直对齐它,并将其左右边缘与屏幕边缘相距60°的方式进行约束。

我到目前为止,但现在从XCode得到关于顶部和底部图像约束的错误。我怎样才能使图像保持其平方比例并根据屏幕尺寸自动调整大小?

例如,图片宽度在下面的屏幕截图中变为294pt,但高度保持不变,其中它应该也变为294磅。

enter image description here

答案

您需要再添加3个约束。

  1. 将视图垂直对齐到superview
  2. 将视图水平对齐到superview
  3. 将视图的纵横比设置为1:1(重要)

The image showing how to add Aspect ratio

总的来说,你应该有5个约束。屏幕截图如下。

Image Having all 5 constraints for the View that you want to maintain 60 padding, equal width & height and vertically & horizontally aligned

另一答案

当自动布局没有找到有关故事板上的组件的足够信息时,会发生此错误。正如你在这里所做的那样,你只提供尾随和前导约束,所以它现在要求高度和宽度。

如果你想在每个设备上使用相同的高度,则选择将固定高度300的高度约束。

或者只是你可以这样做,将对齐约束设置为垂直和水平居中,然后添加顶部和前导约束

enter image description here

以上是关于图像视图autolayout从水平边缘固定到60pt,但自动刻度高度?的主要内容,如果未能解决你的问题,请参考以下文章

AutoLayout 和 Embedded stackview 约束冲突

如何将视图固定到屏幕边缘?

AutoLayout:垂直到水平,没有明确的尺寸?

如何使用自动布局将图像彼此水平对齐

使用 AutoLayout 调整 UIStackView 的大小

如何使用 AutoLayout 制作均匀分布的图像行? [复制]