只知道Lottie动画改变颜色是根据Keypath改变,这个Keypath应该是设计给的,但是无奈,设计也不清楚只能自己找👀。。


可以看到一共有四个柱状、json文件里面layers里面一共有四个元素,分别是rect1、rect2、rect3、rect4,这四个rect就代表每个柱状,现在尝试修改一下第一个柱状的颜色。
继续打开json文件分析一下:
打开rect1里面的shapes可以看到一个nm:组 1的元素,打开组 1的it

可以看到一个nm叫做填充 1的元素,这个元素就是我们找的每个柱状的填充色。
用代码看一下怎样修改,
let keypath = AnimationKeypath(keypath: "rect1.**.填充 1.Color");
animationView.setValueProvider(getColorValueProvider(.red)!, keypath: keypath);
这里的**就是按照目录一直查找元素填充 1元素;

ok修改成功
网友评论