Ios 如何在容器中垂直对齐两个高度可变的UIView

Ios 如何在容器中垂直对齐两个高度可变的UIView,ios,swift,uiview,autolayout,constraints,Ios,Swift,Uiview,Autolayout,Constraints,我有一个UICollectionViewCell,其中包含UIImageView和两个UIView,每个UIView中都有标签(视图是半透明背景): [img] 我希望它们在单元格中垂直对齐。 UIView#1的顶部空间应等于UIView#2的底部空间。 问题是标签可能包含长字符串,因此它们可能跨越2或3行。 可能的国家的例子: 两个标签只有一行 两个标签都包含两行 顶部标签包含2行,底部标签包含1行 顶部标签包含3行,底部标签包含1行 等等 当标签增长时,其容器(UIView#1或UIView

我有一个UICollectionViewCell,其中包含UIImageView和两个UIView,每个UIView中都有标签(视图是半透明背景):

[img]

我希望它们在单元格中垂直对齐。 UIView#1的顶部空间应等于UIView#2的底部空间。 问题是标签可能包含长字符串,因此它们可能跨越2或3行。 可能的国家的例子:

  • 两个标签只有一行
  • 两个标签都包含两行
  • 顶部标签包含2行,底部标签包含1行
  • 顶部标签包含3行,底部标签包含1行 等等
  • 当标签增长时,其容器(UIView#1或UIView#2)也应增长,但作为一个组的两个视图仍应垂直对齐:

    [img]

    [img]

    我试图将它们嵌入到另一个UIView中,但我无法设置有效的约束(我相信仅使用自动布局就可以解决这个问题)

    [img]

    有人能帮帮我吗?

    正是因为这个原因(还有很多其他原因),才有了UIContainerService。我们看看这个答案