我熟悉自动布局,堆栈视图和优先级,但是在以下布局中,我对内容压缩阻力值的含义有疑问。
在下面的项目大纲中可以看到,“文本堆栈视图”是具有两个视图,标签和文本字段的水平堆栈视图。该堆栈视图和UIImageView的Flower Image位于根堆栈视图(也是水平堆栈视图)内。
此布局看似不合逻辑,但这将是更复杂布局的基础。
项目概述如下,但不幸的是,直到我在Stackoverflow上获得10分之前,我才允许在帖子中显示图片!
两个堆栈视图的分布均为填充。 文本堆栈视图的对齐方式是第一基准。 根堆栈视图的对齐方式是填充。
到目前为止,所有视图的所有内容拥抱和抗压缩性均为默认值,布局如下所示。
Apple文档说:“如果可能,堆栈视图会拉伸所有排列的视图,以使其与垂直于堆栈轴的最大固有尺寸的视图相匹配。” 因此,根堆栈视图的高度等于图像的固有高度。但是我需要图像视图的高度与文本堆栈视图的高度一样高。 为此,我尝试降低图像的垂直压缩阻力的优先级。但是减小直到布局达到48才影响布局。在这种情况下,布局如下所示。
Views layout on storyboard after changing vertical content compression resistance of the image to 48
我在这里有一个问题,为什么垂直内容压缩抗性值不能超过48?例如在50,实际上我需要知道自动布局引擎会将这个值与决定缩小图像的那个值进行比较吗?
谢谢