动态宽度大小以适应堆栈视图中的控件
Posted
技术标签:
【中文标题】动态宽度大小以适应堆栈视图中的控件【英文标题】:Dynamic width size to fit of controls in stackview 【发布时间】:2019-01-30 09:08:01 【问题描述】:我有一个带有按钮和标签的水平堆栈视图
案例 1: 按钮文本是动态的,它的大小应该适合文本。所以我在要求中添加了拥抱和压缩。这完美无缺
案例 2: 但是当我的标签被隐藏时,Button 会占用 stackview 的整个空间。我该如何避免呢?
我需要固定按钮宽度以适合标题。请参考下面的屏幕外观
故事板中添加了所有约束。我不想以编程方式进行
请指教
【问题讨论】:
这是正常的UIStackView
行为。您可以将标签的alpha
设置为0,而不是将其isHidden
属性设置为true
。或者将标签的text
设置为空字符串。
您可以为按钮添加宽度限制
或者只使用UIView
而不是UIStackView
将固定宽度添加到按钮,并将堆栈视图上的 750 优先级尾随到超级视图
UIStackView 不要使用尾随常量,它会根据内容自动调整宽度。
【参考方案1】:
有多种方法。
第一个 stackView:你的正常情况。
第二个stackView:
label.text 具有“”值。 如果您没有为 stackView 显式添加高度约束,添加空白文本可能会使 stackView 高度增加。 此外,按钮有宽度限制。第三个stackView:
标签 alpha 设置为 0。 按钮有宽度限制。【讨论】:
以上是关于动态宽度大小以适应堆栈视图中的控件的主要内容,如果未能解决你的问题,请参考以下文章