如何使用自动布局调整 table 视图单元格中的视图大小?
How to use auto layout to resize views in a table view cell?
我有一个单元格,其中放置了四个按钮和四个标签。每个按钮都分配了一张宽度为 50 高度为 50 的图片。此外,所有按钮都有一个相应的标签来描述它们的用途。
我的 objective 是调整按钮和标签的大小,以在屏幕尺寸在不同设备上发生变化时保持按钮和标签的宽高比不变。我一直在玩自动布局,改变拥抱和压缩来实现这一点,但还没有成功。任何帮助将不胜感激...
我认为您应该看一下 UIStackView,因为这似乎正是堆栈的用例。只需将每对 button/label 放入一个堆栈中,然后将所有四对放入一个水平堆栈中,您将其约束到单元格本身。您应该能够通过配置堆栈的属性(轴、分布、对齐、间距)来处理您需要的所有内容。
将您的按钮和标签嵌入到视图中。将此视图的宽度设置为与内容视图的宽度相等,并将乘数值更改为 1:4。这将根据 superview 调整视图的宽度。此外,将此视图的顶部和底部约束设置为 0。
设置宽度和高度约束为 50 后,为按钮提供中心对齐 y 轴约束。将其顶部约束设置为您认为合适的值。
将标签的前导和尾随约束设置为类似 8 的值。选择文本居中对齐。此外,为按钮提供顶部约束,为其父视图提供底部约束。
复制视图并粘贴以创建三个视图,并为第一个视图提供等宽约束。此外,提供它们的前导、尾随、顶部和底部约束。
这里有一个关于如何实现这一点的快速教程:
1-
2-完成第一个Gif:
请注意,您可以使用 UIStackView
实现相同的输出
我有一个单元格,其中放置了四个按钮和四个标签。每个按钮都分配了一张宽度为 50 高度为 50 的图片。此外,所有按钮都有一个相应的标签来描述它们的用途。
我的 objective 是调整按钮和标签的大小,以在屏幕尺寸在不同设备上发生变化时保持按钮和标签的宽高比不变。我一直在玩自动布局,改变拥抱和压缩来实现这一点,但还没有成功。任何帮助将不胜感激...
我认为您应该看一下 UIStackView,因为这似乎正是堆栈的用例。只需将每对 button/label 放入一个堆栈中,然后将所有四对放入一个水平堆栈中,您将其约束到单元格本身。您应该能够通过配置堆栈的属性(轴、分布、对齐、间距)来处理您需要的所有内容。
将您的按钮和标签嵌入到视图中。将此视图的宽度设置为与内容视图的宽度相等,并将乘数值更改为 1:4。这将根据 superview 调整视图的宽度。此外,将此视图的顶部和底部约束设置为 0。
设置宽度和高度约束为 50 后,为按钮提供中心对齐 y 轴约束。将其顶部约束设置为您认为合适的值。
将标签的前导和尾随约束设置为类似 8 的值。选择文本居中对齐。此外,为按钮提供顶部约束,为其父视图提供底部约束。
复制视图并粘贴以创建三个视图,并为第一个视图提供等宽约束。此外,提供它们的前导、尾随、顶部和底部约束。
这里有一个关于如何实现这一点的快速教程:
1-
2-完成第一个Gif:
请注意,您可以使用 UIStackView