所以,我有一个包含四(4)个UIViews的UIStackView.如果我删除其中一(1)个UIViews,其他三个(3)将填充UIStackView中的整个空间.
我的问题:
如何在UIView上添加最大高度,以便它不会填充UIStackView的整个空间,即使分布均匀填充?我读了一些关于添加约束的内容,但我无法使其工作.顺便说一下,我正在使用swift.
谢谢.
解决方法
如果我没有误会,你面临的是:
你要的是:
好吧,如果这是你的情况 – 我希望它是 –,我通过做一个非常简单的技巧实现了这一点:
P.S:我假设你为stackView添加了approrpriate约束.
如果您的stackView没有“高度”约束,请添加一个:
现在,将它作为IBOutlet添加到指定的ViewController,在我的示例中,我将其称为stackHeight:
@IBOutlet weak var stackHeight: NSLayoutConstraint!
如果您要隐藏视图的事件 – 在我的示例中,我隐藏在IBAction上的橙色按钮,当它点击它时,应该隐藏 – 你需要获得你想要的视图的高度隐藏和减少stackHeight.constant:
@IBAction func orangeTapped(_ sender: AnyObject) { orange.isHidden = true // here we go: stackHeight.constant = stackHeight.constant - orange.frame.size.height }