Ответ 1
В качестве подтверждения, это текущее поведение:
И это то, что вы просите:
Чтобы достичь этого, вы можете воспользоваться этим простым трюком:
P.S: Я предполагаю, что вы добавили необходимые ограничения для своего стекового представления.
Если ваше представление стека не имеет ограничения по высоте, добавьте его:
Теперь добавьте его как 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
}