带抽奖的动态按钮

时间:2019-01-25 05:09:36

标签: ios swift uibutton core-animation lottie

我想创建具有三种不同状态的按钮,即初始,加载,完成。

按钮状态的用户界面:

enter image description here

初始-> TextLabel

enter image description here

正在加载->正在加载指示器/多张图片

enter image description here

已完成-> TextLabel

当用户单击它时,它将通常处于初始状态,然后将其状态更改为正在加载,并进行自我转换以在其中显示加载指示符。完成后,它将进行动画处理并变形以显示标签。

如何使用Lottie实现它? 我需要动态设置初始状态文本和完成状态文本,但是根据文档,我找不到将文本更改为Lottie的方法。

有了Lottie,我可以使用进度动画来处理按钮的不同状态,但是如何在没有新json文件的情况下以编程方式更改文本。

Lottie在iOS中不支持文本层。除了使用形状图层,还有其他解决方法吗?

2 个答案:

答案 0 :(得分:0)

您可以通过以编程方式直接修改JSON本身来修改JSON中Button的文本。由于Lottie动画和视图受JSON控制,因此不可能。

答案 1 :(得分:0)

Lottie中没有适当的API支持,但是此线程讨论了通过json文件更改文本的可能方法:

https://github.com/airbnb/lottie-web/issues/238