As a confirmation, this is the current behavior:
And this is what are you asking for is:
In order to achieve it, you could follow this simple trick:
P.S: I assume that you added the needed appropriate constraints for your stack view.
If your stack view doesn't have a "height" constraint, add one:
Now, add it as an IBOutlet
to the assigned ViewController; In my example, I'm calling it stackHeight
:
@IBOutlet weak var stackHeight: NSLayoutConstraint!
On the event that you want to hide the view (in my example, I'm hiding the orange button based on IBAction
assigned to itself, when tapping on it, should be hidden), you need to get the height of the view that you want to hide and subtract from stackHeight.constant
:
@IBAction func orangeTapped(_ sender: AnyObject) {
orange.isHidden = true
// here we go:
stackHeight.constant = stackHeight.constant - orange.frame.size.height
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…