使用自动布局创建对齐的表单

Posted

技术标签:

【中文标题】使用自动布局创建对齐的表单【英文标题】:Using auto-layout to create an aligned form 【发布时间】:2019-09-14 17:37:09 【问题描述】:

我希望在 Swift5 ios 应用程序中创建一个对齐形式的输入屏幕,看起来像

╔══════════════╦═══════════════════════════════╗
║ Name         ║ [         text field        ] ║
║ Phone number ║ [         text field        ] ║
║ Fax number   ║ [         text field        ] ║
╚══════════════╩═══════════════════════════════╝

(没有线条)使得标签和字段可以针对不同的屏幕尺寸合理缩放。我知道我可以在垂直堆栈视图中使用水平堆栈视图,但是要使文本字段对齐,我要么必须给标签一个固定大小,要么给水平堆栈视图一个固定比例。有更好的选择吗?

【问题讨论】:

【参考方案1】:

您不必使用堆栈视图。相反,使用简单的约束:

    将文本字段向左、向右和垂直间距限制在彼此之间(或安全区域)。 将每个标签基线约束到每个文本字段。 将标签限制在左侧 - 到安全区域。 使用 >= 关系将每个标签限制到每个文本字段。

【讨论】:

以上是关于使用自动布局创建对齐的表单的主要内容,如果未能解决你的问题,请参考以下文章

ios自动布局视觉格式-对齐

自动布局和对齐约束

自动布局将两个标签彼此相邻对齐

自动布局 - 在表格单元格中对齐视图

使用自动布局对齐两个 uiviews

使用自动布局创建带有文本和图像的 iOS 7 UIButton