我创建了一个UIView
,它由3个UILabel
和1个UIImageView
组成,如下所示-
UILabel
的{{1}}设置为0,以使lines
的高度动态变化
我添加了一些约束,以使图像的高度取决于UILabel
的高度,如下所示-
我将UILabel
的宽度设置为常数100。
我想对UIImageView
设置一个约束,以使UIImageView
的高度等于整个视图的高度。
我尝试在UIImageView
和整个视图上添加“等高”约束。我观察到整个视图的高度取决于UIImageView
的高度,而不是UIImageView
的高度取决于我想要的整个视图。
有人能指出我如何向UIImageView
添加约束,以使其高度等于其父视图,但该父视图的高度不取决于UIImageView
吗?
编辑-
下图显示了我面临的问题。将图像设置为UIImageView
时,视图的高度会改变。
我希望UIImageView
的高度等于视图的高度,但是我不希望视图的高度取决于UIImageView
答案 0 :(得分:1)
我相信您尚未将高度限制添加到超级视图。设置超级视图的高度约束,然后在UIImageView和整个视图上添加“等高”约束。
答案 1 :(得分:1)
您似乎需要减少图片视图上的vertical content compression resistance
。
将其设置为非常低的值,例如100,然后重试。
答案 2 :(得分:0)
实际上,UIImageView
的默认抗压缩性是750,而根UIView
的内容包含是250。这意味着AutoLayout引擎可以正确地布局所有内容。您可以将垂直压缩阻力更改为小于250(UILayoutPriority.defaultLow - 1
)的值,以实现所需的布局。