【问题标题】:How to use auto layout to resize views in a table view cell?如何使用自动布局来调整表格视图单元格中的视图大小?
【发布时间】:2017-10-23 04:26:55
【问题描述】:

我有一个单元格,其中放置了四个按钮和四个标签。每个按钮都被分配了一个宽度为 50 和高度为 50 的图片。此外,所有按钮都有一个相应的标签来描述它们的用途。

我的目标是调整按钮和标签的大小,以在不同设备上更改屏幕尺寸时保持按钮和标签的纵横比不变。我一直在玩自动布局,改变拥抱和压缩来实现这一点,但还没有成功。任何帮助将不胜感激......

【问题讨论】:

    标签: ios autolayout uistoryboard


    【解决方案1】:

    我认为您应该看一下 UIStackView,因为这似乎完全是堆栈的用例。只需将每对按钮/标签放在一个堆栈中,然后将所有四对按钮/标签放入一个水平堆栈,您可以将其约束到单元格本身。您应该能够通过配置堆栈的属性(轴、分布、对齐、间距)来处理所有您需要的事情。

    【讨论】:

    • 我错过了分发。谢谢。
    【解决方案2】:
    1. 将按钮和标签嵌入到视图中。将此视图的宽度设置为等于内容视图的宽度,并将乘数更改为 1:4。这将根据 superview 调整视图的宽度。此外,将此视图的顶部和底部约束设置为 0。

    2. 在将宽度和高度约束设置为 50 后,为按钮提供中心对齐 y 轴约束。将其顶部约束设置为您认为合适的值。

    3. 将标签的前导和尾随约束设置为 8 之类的值。选择文本居中对齐。此外,为按钮提供顶部约束,为其父视图提供底部约束。

    4. 复制视图并粘贴以创建三个视图,并为它们提供与第一个视图相同的宽度约束。此外,提供它们的前导、尾随、顶部和底部约束。

    【讨论】:

      【解决方案3】:

      这里有一个快速教程,说明如何实现这一目标:

      1-

      2- 完成第一个 Gif:

      请注意,您可以使用 UIStackView 实现相同的输出

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多