Когда вы устанавливаете .isHidden = true
для упорядоченного подпредставления представления стека, представление стека удаляет занимаемое им пространство ... но только в направлении .axis
.
Таким образом, ваше представление стека остается выделяет ширину Top PINK View
.
Чтобы удалить высоту и ширину Top PINK View
, вам необходимо удалить ее из представления стека. не просто скрыть это.
Попробуйте это так - при нажатии на кнопку вы переключитесь между скрытым и показом:
@IBOutlet var mainStackView: UIStackView!
@IBAction func showHide(_ sender: Any) {
if !topPINKView.isHidden {
topPINKView.isHidden = true
topPINKView.removeFromSuperview()
} else {
mainStackView.insertArrangedSubview(topPINKView, at: 0)
topPINKView.isHidden = false
}
}
Примечание: обязательно подключите ваш стек в @IBOutlet var mainStackView: UIStackView!
Редактировать
Вы можете даже уменьшить это значение до:
@IBAction func showHide(_ sender: Any) {
if topPINKView.superview != nil {
topPINKView.removeFromSuperview()
} else {
mainStackView.insertArrangedSubview(topPINKView, at: 0)
}
}