我制作了一个带有水平滚动菜单的应用程序,根据点击的按钮显示下面的信息。由于标签的大小可变,我将它们全部放置在垂直滚动视图中的垂直UIStackView中。然后我根据按下的按钮将堆栈视图中的标签设置为隐藏或可见。我已经读过堆栈视图应该自动调整大小,删除空白区域,但这不会发生。但是,如果我再次单击相同的按钮,则会适当调整内容的大小:
After first click
After second click
我尝试了多种变体,在隐藏不需要的标签之前我会显示堆栈视图的所有内容,反之亦然,以及依次单独隐藏或显示每个标签,但似乎没有解决这个问题。我用过的最新代码如下。如果有人可以提供帮助,我真的很感激吗?
由于
@IBAction func test1Button(sender: AnyObject) {
hideAllInfo ()
label1.hidden = false
}
@IBAction func test2Button(sender: AnyObject) {
hideAllInfo ()
label2.hidden = false
label3.hidden = false
}
func hideAllInfo () {
label1.hidden = true
label2.hidden = true
label3.hidden = true
label4.hidden = true
label5.hidden = true
label6.hidden = true
}
答案 0 :(得分:1)
我终于找到了解决方案。出于某种原因,同时显示多个隐藏变量会导致自动布局出现问题。我设法通过将所有显示的内容放在另一个单独的堆栈视图中来纠正它,因此一次只显示一个项目。