【问题标题】:UIStackView Form LayoutUIStackView 表单布局
【发布时间】:2015-10-07 16:10:40
【问题描述】:

我正在创建一个包含各种字段的基本表单。我想使用UIStackView 来布局所有控件。我将如何执行以下操作以使控件正确对齐? UIStackView 是正确的方法吗?

【问题讨论】:

    标签: ios interface-builder uistackview


    【解决方案1】:

    Apple suggests 为每个标签和字段创建水平堆栈视图,然后将它们放在垂直堆栈视图中。

    这是有道理的,因为如果您稍后将其中一个控件更改为不同的控件(例如弹出按钮),您可以保持标签和控件基线对齐。

    【讨论】:

      【解决方案2】:

      您绝对可以使用 StackViews 来实现这一点。

      如何排列 StackView 取决于您希望如何管理对齐方式。

      以下是我的建议:

      1. 将您的标签放在一个垂直对齐的堆栈视图中,然后
      2. 将您的文本字段放在另一个垂直对齐的堆栈视图中
      3. 将两个堆栈视图放在一个水平对齐的堆栈视图中

      您可能希望将distribution 设置为在两个较小的stackview 上平均填充,然后将spacing 设置为对于每个较小的stackview 都相同。 最后,您将能够在水平堆栈视图上设置间距,以设置文本和文本字段之间的间距。(最后一部分是我将它们设置成这样的原因。)

      【讨论】:

      • 我认为这完全符合我的问题的要求。如果布局有点复杂怎么办?假设有一条视觉线将两行分开。然后呢?
      • 然后我将有两个包含您的文本和文本字段的水平堆栈视图,以及一个包含所有元素(堆栈视图、分隔符、堆栈视图)的垂直堆栈视图。您仍然可以达到相同的效果,只是稍微不那么优雅。另外,如果它满足您的问题,您介意接受答案吗?干杯!
      • 完成。当这样拆分时,如何控制左侧空间以使文本字段正确排列?
      • 对所有文本字段设置相同的宽度限制。
      • @RobNorback 如何处理键盘向上事件。如果有提交按钮,我希望它始终位于键盘上方。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多