Я запрограммировал гистограмму, когда каждый столбец имеет значение UIView
с ограничениями по высоте и верхнему ограничению для суперпредставления.
После ввода значений высот анимация должна выполняться с 10длительность в секундах.
Однако анимация не происходит.
Сначала я вычисляю новую высоту бара:
let portion = Float(self.currentValue!) / Float(self.maxValue!) // portion of max height of the bar
let newTopConstraint = Float(maxTopConstraint) * portion // the new distance from the top of the superview
var heightDiff = newTopConstraint - Float(self.barTopConstraint.constant)
heightDiff = abs(heightDiff)
Теперь, когда я получил новую высоту длябар, я хочу оживить его до этой позиции:
UIView.animate(withDuration: 10) {
self.barTopConstraint.constant = newTopConstraint
self.heightCons.constant += heightDiff
self.barView.setNeedsLayout()
}
К сожалению, анимация никогда не происходит.Что не так с моей анимацией?