Подтвердить что ты не робот

Обновить свойство константы ограничения программно в Swift?

Я хочу анимировать объект, поэтому объявляю ограничение и добавляю его в представление. Затем я обновляю свойство constant ограничения внутри анимации UIView. Почему этот код не перемещает объект?

UIView.animateWithDuration(1, animations: {
     myConstraint.constant = 0   
     self.view.updateConstraints(myConstraint)
})
4b9b3361

Ответ 1

Чтобы объявить анимацию, вы не можете переопределить ограничение и вызвать updateConstraints. Вы должны изменить constant вашего ограничения и следовать следующему ниже формату:

self.view.layoutIfNeeded()
UIView.animateWithDuration(1, animations: {
    self.sampleConstraint.constant = 20
    self.view.layoutIfNeeded()
})