Я создал расширяемый табличный вид и хочу стрелку, которая указывает влево, когда ячейка не развернута, и вниз, если ячейка развернута.
Первая анимация (чтобы указать стрелку вниз)Работает как шарм.При попытке повернуть назад (при закрытии расширенной ячейки) он просто возвращается в нормальное состояние без какой-либо анимации.В моем cellForRow я делаю это:
cell.image1.rotate(item.opened ? -.pi/2 : 0, duration: 0.4)
У меня есть расширение для него:
extension UIView {
func rotate(_ toValue: CGFloat, duration: CFTimeInterval) {
let animation = CABasicAnimation(keyPath: "transform.rotation")
animation.toValue = toValue
animation.duration = duration
animation.isRemovedOnCompletion = false
animation.fillMode = CAMediaTimingFillMode.forwards
self.layer.add(animation, forKey: nil)
}
}
Это работает как шарм за пределами таблицы.Но внутри Tableview он всегда возвращается в нормальное состояние без анимации.Есть идеи, откуда это взялось?