代码之家  ›  专栏  ›  技术社区  ›  Ruslan Leshchenko

图表路径动画

  •  0
  • Ruslan Leshchenko  · 技术社区  · 6 年前

    我试图实现改变图表数据的动画。我使用以下代码:

    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
                }
    

    现在在右边修改数据看起来不错,但是在左边看起来很奇怪。有人能给我指点我做错了什么吗?

    更新:我希望左边的更改数据看起来与右边的相同(我的意思是平滑地更改比例并添加更多的行)

    enter image description here

    0 回复  |  直到 6 年前