UIStackView разные анимации скрытия шоу между версиями ios - PullRequest
2 голосов
/ 08 ноября 2019

UIStackView скрыть анимацию шоу очень отличается между версиями ios. Вот базовая настройка. У меня есть UIStackView с тремя организованными подпредставлениями внутри. И UIScrollView содержит UIStcakView. Я использую автоматическое расположение. Код представления стека выглядит следующим образом:

let stack = UIStackView(arrangedSubviews: [view1, view2, view3])
stack.translatesAutoresizingMaskIntoConstraints = false

stack.axis = .vertical
stack.distribution = .fill
stack.alignment = .fill

Код, который создает анимацию, таков:

isHidden.toggle()

UIView.animate(withDuration: 2) {
    self.view3.isHidden = self.isHidden
}

При запуске на симуляторе ios 10 анимация правильная.

ios 10 animation

Однако в ios 13 анимация не правильная.

ios 13

Так же естьспособ сделать эту анимацию так же, как на ios10? Или я должен использовать UITableView вместо UIStackView?

1 Ответ

1 голос
/ 08 ноября 2019

Похоже, вы забыли уменьшить приоритет ограничения высоты view3.

UIStackView скрывает свои подпредставления, ограничивая их высоту до 0, поэтому, если у вас есть другие ограничения для высоты представления, они будут конфликтовать с представлением стека. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...