Я пытаюсь анимировать ограничения в своем ViewController. Для этого я добавил эту строку в свой код: Я просто пытаюсь изменить высоту UIView() (от 0 до 100)
barHeight.constant = CGFloat(100)
UIView.animate(withDuration: 2) {self.view.layoutIfNeeded()}
Проблема в том, что с этой строкой все ограничения анимированы, а это не то, что мне бы хотелось.
Знаете ли вы, как я мог анимировать только определенные ограничения, а не другие?
Вы должны показать, что вы делаете. Просто у вас есть ограничения на представление, которое вы меняете? Например, вы анимируете topAnchor
ограничение представления, и у этого представления есть bottomAnchor
ограничение для другого представления?
Вызовите layoutSubviews, прежде чем редактировать ограничение, которое хотите анимировать. Это приведет к тому, что любые ожидающие обновления макета будут применены без анимации, а затем вы сможете изменить следующее ограничение с анимацией.
Вот так:
self.view.layoutSubviews()
barHeight.constant = CGFloat(100)
UIView.animate(withDuration: 2) {self.view.layoutIfNeeded()}
у меня до сих пор все анимируется
согласно следующему отвечать вам нужно вызывать layoutIfNeeded()
вместо layoutSubviews()
. по крайней мере мне помогло
Показывать. Твой. Код!