我有一个UIView
,其他几个UIViews
为subviews
。这些subviews
中的每一个都可以被点击,当它们出现时,它们将为layer
和“pop”设置动画,使其看起来像是被选中的。但在每个subview
我也有一个Lottie动画。
当我选择其中一个subview UIViews
Lottie动画没有标记时,它会在我的选择动画完成后弹出到正确的位置。这几乎就像我的Lottie动画的layer
不在我的UIViews layer hierarchy
中。但如果我不播放我的lottie动画而只是暂停它,它就可以了。这就是我在After Effects中创建的json创建lottie动画对象的方法:
- (CALayer *)fetchAnimationForIcon:(NSString *)iconName {
LOTAnimationView *a = [LOTAnimationView animationNamed:iconName];
[a play];
return a.layer;
}
然后我将此layer
作为sublayer
添加到调用此方法的UIView
。然后我继续为此UIView
上的选择动画制作动画,这会导致a.layer
弹出或闪烁到正确的位置。它只是在运行时没有动画。但是,如果我不播放动画,它一切正常。