堆栈视图中的元素不移动/调整
Posted
技术标签:
【中文标题】堆栈视图中的元素不移动/调整【英文标题】:Elements in stack view not shifting/adjusting 【发布时间】:2021-07-14 05:07:00 【问题描述】:我在水平堆栈视图中有 4 个按钮,具有“均等填充”分布。在其中一种情况下,我在堆栈视图显示之前隐藏堆栈视图中的第一个按钮,但其他 3 个按钮保持在原位(即第一个按钮仍保持空间),而不是均匀地移动和间隔。
以下是我的堆栈视图的详细信息:
当一个按钮被隐藏时,如何调整/展开堆栈视图中的 3 个按钮?
隐藏按钮的代码:
self.button1.alpha = 0.0
self.button1.alpha = 0.0
self.stackView.layoutIfNeeded()
【问题讨论】:
self.button1.alpha 这只是设置按钮的不透明度,但它仍然存在。使用 isHidden 属性 我最初尝试过 isHidden 并且我也得到了相同的结果。我也尝试过同时使用 isHidden 和 alpha,但按钮仍然占据堆栈视图中的空间。 尝试设置前导约束>= 尝试了 >= 和 您需要像@RajaKishan 建议的那样设置 isHidden = false 。你如何/在哪里设置这个?您确定正在调用代码吗?此外,您不需要调用 layoutIfNeeded 【参考方案1】:设置alpha
值不会隐藏视图,它会降低视图的不透明度,在您的情况下为button1
。当button1
被隐藏时,要在UIStackView
的框架上均匀分布按钮,您必须隐藏button1
。您可以通过编程方式切换isHidden
属性,或在情节提要上设置其初始值。
代码是
程序化
button1.isHidden = true // or false
下面是一个以编程方式切换isHidden
属性的示例
故事板
如果都失败了,
-
检查分布
如果
button1.isHidden
被调用
【讨论】:
以上是关于堆栈视图中的元素不移动/调整的主要内容,如果未能解决你的问题,请参考以下文章