我建议建造一个
UIBezierPath
从路径阵列中,然后设置动画:
var paths: [UIBezierPath] = ...
let path = UIBezierPath()
paths.forEach { path.append($0) }
shapeLayer.path = path.cgPath
let animation = CABasicAnimation(keyPath: "strokeEnd")
animation.duration = 2.0
animation.fromValue = 0.0
shapeLayer.add(animation, forKey: nil)
E、 这里有100条路径,组合成一条路径
strokeEnd
然后在形状层上设置动画:
假设您的路径数组真的形成了一些连续的路径,我建议将其存储为
CGPoint
然而,事实并非如此。然后您可以从中构建一条路径。这消除了所有这些路径的开销。此外,它还为扩展原始数据集打开了大门,无需引入任何工件,能够使用线连接选项,
applying smoothing algorithms
如果有不需要的线段序列等。