Swift - анимация только определенных ограничений - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь анимировать ограничения в моем ViewController.Для этого я добавил эту строку в мой код: я просто пытаюсь изменить высоту UIView () (от 0 до 100)

barHeight.constant = CGFloat(100)
UIView.animate(withDuration: 2) {self.view.layoutIfNeeded()}

Проблема в том, что с этимлиния, все ограничения анимированы, и это не то, что я хотел бы.

Знаете ли вы, как я могу анимировать только определенные ограничения, а не другие?

1 Ответ

3 голосов
/ 09 апреля 2019

Вызовите layoutSubviews, прежде чем редактировать ограничение, которое вы хотите анимировать. Это приведет к тому, что любые ожидающие обновления макета будут применены без какой-либо анимации, а затем вы можете изменить следующее ограничение с помощью анимации.

Вроде так:

 self.view.layoutSubviews()
 barHeight.constant = CGFloat(100)
 UIView.animate(withDuration: 2) {self.view.layoutIfNeeded()}
...