水平堆栈视图中按钮的宽度-iOS-故事板

时间:2019-01-30 23:31:23

标签: ios swift storyboard uistackview

我在垂直堆栈视图中有两个控件,下面是我的问题

我希望我的控件以这种方式显示

enter image description here

相反,它显示如下

enter image description here

如何设置按钮标题的合适程度,以免按钮的宽度增加

而且按钮标题是动态的,所以我没有控制权将其设置为恒定值

请咨询

2 个答案:

答案 0 :(得分:0)

我建议使用set content hugging priority方法。如果您以编程方式查看视图,则应该看起来像这样:

myButton.setContentHuggingPriority(.required, for: .horizontal)

答案 1 :(得分:0)

有几种方法可以做到这一点。尽管不需要UIStackView ,但可以节省一些设置约束的步骤。

所以,这是一种方法:

  • 我已将堆栈视图20-pts限制为顶部,顶部和尾部(安全区域),但没有底部或高度限制。
  • 堆栈视图设置为Alignment: Center Distribution: Fill Spacing: 2
  • 这些按钮的内容插入分别为40(对于左侧和右侧)和4(对于顶部和底部)。这样一来,他们就可以根据动态标题水平拉伸/收缩。
  • 我给标签设置了28.5的Height约束(因此,只增加了一点垂直填充), 给了标签Equal-Width到堆栈视图的约束。
  • 文本字段对堆栈视图也有Equal-Width约束。

enter image description here

因此,按钮保持居中并调整其宽度以适应标题,标签和文本字段会拉伸以适合堆栈视图的宽度。