gpt4 book ai didi

ios - 如何使用自动布局调整其 super View 的方形 View 大小

转载 作者:IT王子 更新时间:2023-10-29 05:46:45 26 4
gpt4 key购买 nike

在我的特殊情况下,我在 View Controller 中有一个 View ,我为其添加了以下约束:

  • 将前导、尾随、顶部和底部边缘设置为 0
  • 将乘数设置为 2:1

现在 View 位于 View Controller 的上半部分。

在其中我添加了一个正方形 ImageView ,为此我添加了以下约束:

  • 按住 Ctrl 从 ImageView 拖动到 super View 并添加相等的高度和宽度。
  • 更改宽度和高度的乘数,直到我得到一个完美的正方形。
  • 添加了垂直和水平居中的约束

我的约束看起来很完美,但是在模拟器中运行时我没有得到完美的正方形。除此之外, ImageView 在不同的模拟器屏幕上运行时不会调整大小。

这是我的设置:

  • 启用自动布局和尺寸分类
  • 我为 Storyboard使用推断大小
  • 自适应布局的宽度和高度设置为任意
  • 我正在尝试为 4s、5、6 和 6+ 模拟器运行它。

我查看了其他 stackoverflow 帖子,但似乎没有任何效果。

是否有一些基本步骤可以做到这一点?

enter image description here

编辑:

设置>=10个约束后:

enter image description here

编辑 3:我添加了 top、bottom、leading、trailing 约束 2 次,1 次小于或等于(优先级 1000),另一次大于或等于(优先级 800),常数值为 90。我不知道为什么底部会尝试从主视图拉伸(stretch)到 90 pt,而不是容器 View (绿色 View )。

enter image description here

最佳答案

您有一个 View 需要扩展以填充其容器,同时保持其纵横比。这是自动布局的常见模式。

诀窍是对前导/尾随/顶部/底部使用两个约束:

  • =10 低优先级

  • >=10 所需的优先级。

综合起来,你有:

  • 纵横比 1:1

  • 在 Superview 中居中 X/Y

  • 前导/尾随/顶部/底部到 Superview = 10(优先级为 750)

  • 前导/尾随/顶部/底部到 Superview >= 10(优先级为 1000)

还有一些关于 UIImageView 的事情需要考虑:

  • UIImageView 将具有基于其显示的图像的固有内容大小,因此您需要确保其 Content Hugging Priority 低于用于 =10< 的 750 优先级 约束。

  • UIImageView.contentMode 确定底层图像的大小相对于 UIImageView 的大小。默认情况下,它设置为 UIViewContentModeScaleToFill

关于ios - 如何使用自动布局调整其 super View 的方形 View 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32099988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com