水平堆栈视图中按钮的宽度 - iOS - 故事板
Width of button in horizontal stackview - iOS - Storyboard
我在垂直堆栈视图中有两个控件,下面是我的问题
我希望我的控件像这样显示
而是这样显示
如何设置适合按钮的标题,使按钮的宽度不增加
此外,按钮标题是动态的,因此我无法控制将其设置为常量值
请指教
我建议使用 set content hugging priority 方法。如果您以编程方式进行查看,它应该看起来像这样:
myButton.setContentHuggingPriority(.required, for: .horizontal)
有几种方法可以做到这一点。虽然 UIStackView
不是 所必需的,但它可以节省设置约束的几个步骤。
所以,这是一种方法:
- 我已将我的堆栈视图
20-pts
限制为顶部、前导和尾随 (safe-area),但没有底部或高度限制。
- 堆栈视图设置为
Alignment: Center
Distribution: Fill
Spacing: 2
- 按钮的左和右内容插图为
40
,顶部和底部内容插图为 4
。这将允许他们根据动态标题水平拉伸/收缩。
- 我给标签设置了 28.5 的高度限制(所以,只有一点垂直填充),和 给了它们
Equal-Width
对堆栈视图的约束。
- 文本字段对堆栈视图也有
Equal-Width
约束。
因此,按钮保持居中并根据标题调整宽度,标签和文本字段会拉伸以适应堆栈视图的宽度。
我在垂直堆栈视图中有两个控件,下面是我的问题
我希望我的控件像这样显示
而是这样显示
如何设置适合按钮的标题,使按钮的宽度不增加
此外,按钮标题是动态的,因此我无法控制将其设置为常量值
请指教
我建议使用 set content hugging priority 方法。如果您以编程方式进行查看,它应该看起来像这样:
myButton.setContentHuggingPriority(.required, for: .horizontal)
有几种方法可以做到这一点。虽然 UIStackView
不是 所必需的,但它可以节省设置约束的几个步骤。
所以,这是一种方法:
- 我已将我的堆栈视图
20-pts
限制为顶部、前导和尾随 (safe-area),但没有底部或高度限制。 - 堆栈视图设置为
Alignment: Center
Distribution: Fill
Spacing: 2
- 按钮的左和右内容插图为
40
,顶部和底部内容插图为4
。这将允许他们根据动态标题水平拉伸/收缩。 - 我给标签设置了 28.5 的高度限制(所以,只有一点垂直填充),和 给了它们
Equal-Width
对堆栈视图的约束。 - 文本字段对堆栈视图也有
Equal-Width
约束。
因此,按钮保持居中并根据标题调整宽度,标签和文本字段会拉伸以适应堆栈视图的宽度。