如何设置自动布局约束,使 UIImageView 的高度等于父视图的高度?
How to set autolayout constraint so that the height of an UIImageView is equal to the height of the superview?
我创建了一个 UIView
,它由 3 个 UILabel
和 1 个 UIImageView
组成,如下所示 -
UILabel
已将 lines
设置为 0,以便 UILabel
的高度动态变化
我添加了约束,使图像的高度取决于 UILabel
的高度,如下所示 -
我已将 UIImageView
的宽度设置为常量 100。
我想在 UIImageView
上设置一个约束,使 UIImageView
的高度等于整个视图的高度。
我尝试在 UIImageView
和整个视图上添加 "Equal Heights" 约束。我观察到整个视图的高度取决于 UIImageView
的高度,而不是 UIImageView
的高度取决于我想要的整个视图。
谁能指出我如何向 UIImageView
添加约束,使其高度等于其父视图,但父视图的高度不依赖于 UIImageView
?
编辑 -
下图显示了我面临的问题。当图像设置为 UIImageView
时,视图的高度会发生变化。
我希望 UIImageView
的高度等于视图的高度,但我不希望视图的高度取决于 UIImageView
的高度
我相信你还没有将高度限制添加到父视图。为超级视图设置高度约束,然后在 UIImageView 和整个视图上添加 "Equal Heights" 约束。
看来您需要减少图像视图中的 vertical content compression resistance
。
将它设置为非常低的值,例如 100,然后重试。
事实上你的 UIImageView
的默认压缩阻力是 750,而 root UIView
的内容拥抱是 250。这意味着 AutoLayout 引擎可以正确布局所有内容。您可以将垂直压缩阻力更改为低于 250 (UILayoutPriority.defaultLow - 1
) 的值以实现所需的布局。
我创建了一个 UIView
,它由 3 个 UILabel
和 1 个 UIImageView
组成,如下所示 -
UILabel
已将 lines
设置为 0,以便 UILabel
的高度动态变化
我添加了约束,使图像的高度取决于 UILabel
的高度,如下所示 -
我已将 UIImageView
的宽度设置为常量 100。
我想在 UIImageView
上设置一个约束,使 UIImageView
的高度等于整个视图的高度。
我尝试在 UIImageView
和整个视图上添加 "Equal Heights" 约束。我观察到整个视图的高度取决于 UIImageView
的高度,而不是 UIImageView
的高度取决于我想要的整个视图。
谁能指出我如何向 UIImageView
添加约束,使其高度等于其父视图,但父视图的高度不依赖于 UIImageView
?
编辑 -
下图显示了我面临的问题。当图像设置为 UIImageView
时,视图的高度会发生变化。
我希望 UIImageView
的高度等于视图的高度,但我不希望视图的高度取决于 UIImageView
我相信你还没有将高度限制添加到父视图。为超级视图设置高度约束,然后在 UIImageView 和整个视图上添加 "Equal Heights" 约束。
看来您需要减少图像视图中的 vertical content compression resistance
。
将它设置为非常低的值,例如 100,然后重试。
事实上你的 UIImageView
的默认压缩阻力是 750,而 root UIView
的内容拥抱是 250。这意味着 AutoLayout 引擎可以正确布局所有内容。您可以将垂直压缩阻力更改为低于 250 (UILayoutPriority.defaultLow - 1
) 的值以实现所需的布局。