隐藏所有排列的子视图时,UIStackView模糊布局

时间:2018-03-11 14:31:39

标签: ios autolayout uistackview

我有一个非常简单的stackView:

stackView.spacing = 10
stackView.axis = .horizontal
stackView.alignment = .center
stackView.distribution = .fill
view.addSubview(stackView)
stackView.snp.makeConstraints { (make) in
    make.center.equalToSuperview()
}

然后我添加了三个按钮:

stackView.addArrangedSubview(button1)
stackView.addArrangedSubview(button2)
stackView.addArrangedSubview(button3)

这里的事情很棒。

enter image description here

然后我隐藏了button1和button 3,stackView也按预期布局。

enter image description here

enter image description here

但是当我隐藏所有子视图,然后单击Xco​​de中的调试视图层次结构时,控制台开始吐出投诉。

enter image description here

我没有添加任何明确的约束。 有些约束是由UIStackView隐式生成的。

enter image description here

所以任何人都知道如何消除这些自动布局警告?

1 个答案:

答案 0 :(得分:-2)

使用零子视图的UIStackView有什么意义?如果你想隐藏所有子视图,也许最好隐藏StackView本身?无论如何,防止出现空StackView的这些错误消息的唯一方法是设置StackView的宽度和高度约束。