Ios 如何进行此自定义自动布局?

Ios 如何进行此自定义自动布局?,ios,iphone,swift,autolayout,interface-builder,Ios,Iphone,Swift,Autolayout,Interface Builder,我试图让这个布局工作,但在过去的两天尝试失败 所有标签的高度都是恒定的。左侧的所有方块都是不重要的图标图像 我的问题是关于Y轴。这是一个iPhone SE的框架。我需要它相应地扩展到更大的屏幕,如iPhone8 Plus和iPhoneX。同样,我可以在iPhoneX的界面生成器中设计它,它应该合理地缩小到iPhone4S。就我的理解而言,大小类不适用于iPhone-iPhone变体,因为它们都是紧凑的宽度和规则的高度 这些以蓝色突出显示的垂直线在实际应用程序中不可见。它们试图始终使两个UILa

我试图让这个布局工作,但在过去的两天尝试失败

所有标签的高度都是恒定的。左侧的所有方块都是不重要的图标图像

我的问题是关于Y轴。这是一个iPhone SE的框架。我需要它相应地扩展到更大的屏幕,如iPhone8 Plus和iPhoneX。同样,我可以在iPhoneX的界面生成器中设计它,它应该合理地缩小到iPhone4S。就我的理解而言,大小类不适用于iPhone-iPhone变体,因为它们都是紧凑的宽度和规则的高度

这些以蓝色突出显示的垂直线在实际应用程序中不可见。它们试图始终使两个UILabel框架之间的黑色水平线居中所以,我真正需要的是:如果屏幕变小,蓝色垂直线应该缩小。如果屏幕变大,蓝色垂直线应该会扩展。当我尝试使UITableView具有可变高度时,问题就会出现


有人知道我如何解决这个问题吗?这对我来说非常重要。

如果您希望它们在屏幕上的比例相同,您可以使用乘数:


尝试将它们设置为与容器视图相同的高度,但使用乘数0.15或其他值。如果它们相等,则需要一个1:0.15的约束条件,所有其他约束条件都等于此约束条件

有许多方法可以实现您的要求,但UIStackView非常适合此类情况。详细回答您的问题可能需要很长时间,但下面是interface builder中一个快速模型的屏幕截图,也许您可以找到答案

我不太明白这些蓝线是什么意思,在我的示例中,tableview高度是动态的,因为它的拥抱优先级低于其他元素。但您可以为每个元素指定所需的高度,并将stackview分布属性设置为“均匀填充”,然后堆栈视图将在y轴上适合您的屏幕,并在元素之间创建相等的间距

以及模拟器屏幕截图:

在这里,我给每个容器视图设置了一个静态高度,并将主堆栈视图分布设置为“等间距”,正如您可以看到的那样,它调整了容器视图之间的间距:


是否显示了一个包含4行的表视图?最后一行是一个单元格,单元格内有一个表视图?或者,这些子视图是否具有一个或两个标签+图像,并且底部子视图具有作为子视图的表视图?两点建议:一,。显示一个更好的图表,说明您试图布局的对象,以及2。在更高的屏幕上显示另一张您希望它看起来如何的图像。