我试图实现改变图表数据的动画。我使用以下代码:
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
}
现在在右边修改数据看起来不错,但是在左边看起来很奇怪。有人能给我指点我做错了什么吗?
更新:我希望左边的更改数据看起来与右边的相同(我的意思是平滑地更改比例并添加更多的行)