我正在使用Lottie框架从json文件中加载动画类型指示符。我想更改指示器颜色的动画。我不想更改json文件的颜色。要以编程方式更改动画视图的颜色。
例如:(。。。。)->键入指示器(想要更改点的颜色)
预先感谢
private let animationView = LOTAnimationView(name:
Constants.ImageAssets.typingIndicatorIcon, bundle:Bundle(identifier: Constants.GenericKeys.bundleIdentifier)!)
private func loadTypingIndicator() {
animationView.loopAnimation = true
animationView.translatesAutoresizingMaskIntoConstraints = true
// *** It's not working
animationView.setValue(UIColor.green, forKeypath: "boule.Ellipse 1.Fill 1.Color", atFrame: 0)
animationView.play()
}
答案 0 :(得分:3)
@Devan,您好,这可能有所帮助:
let keypath = AnimationKeypath(keys: ["**", "Fill", "**", "Color"])
let colorProvider = ColorValueProvider(UIColor.green.lottieColorValue)
animationView.setValueProvider(colorProvider, keypath: keypath)
答案 1 :(得分:1)
答案 2 :(得分:0)
遇到这个问题...如果有人想了解更多,这是有关使用值提供者更改Lottie动画颜色的教程。 https://swiftsenpai.com/development/lottie-value-providers/
答案 3 :(得分:0)
作为选项 - 如果需要类似行为的模板,请使用 view.mask
。
lottiViewTintView.backgroundColor = tintColor
lottieView = AnimationView(name: "animation_file")
lottieView.bounds = lottiViewTintView.bounds
lottiViewTintView.mask = lottieView
答案 4 :(得分:-1)
您可以在彩票编辑器链接中自定义彩票动画。 Lottie Animation Editor