Анимация пути диаграммы - PullRequest
0 голосов
/ 16 марта 2019

Я пытаюсь реализовать анимацию для изменения данных диаграммы. Я использую код ниже:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...