Я пытаюсь реализовать анимацию для изменения данных диаграммы. Я использую код ниже:
if let chartLayer = chartLayers[chartName], chartLayer.superlayer != nil {
let animation = CABasicAnimation.init(keyPath: "path")
animation.fromValue = chartLayer.path
animation.toValue = path.cgPath
animation.duration = 0.2
animation.delegate = self
chartLayer.path = path.cgPath
self.isAnimated = true
chartLayer.add(animation, forKey: "path")
} else {
let chartLayer = CAShapeLayer()
chartLayer.lineWidth = 2.0
chartLayer.fillColor = UIColor.clear.cgColor
chartLayer.strokeColor = UIColor.init(hexFromString: chartData.colors[yData.key] ?? "").cgColor
chartLayer.path = path.cgPath
layer.addSublayer(chartLayer)
chartLayers[chartName] = chartLayer
}
Теперь это выглядит нормально для изменения данных справа, но слева это выглядит странно. Может кто-нибудь дать мне совет, что я делаю неправильно?
ОБНОВЛЕНИЕ: Я ожидаю, что изменение данных слева будет выглядеть так же, как и справа (я имею в виду плавное изменение масштаба и добавление большего количества строк)