Iphone 完成后未移除的CABASICANIATION如何重新使用?

Iphone 完成后未移除的CABASICANIATION如何重新使用?,iphone,core-animation,Iphone,Core Animation,很多人都在谈论在使用完Cabasicanization对象后将其保留在周围 所以通过设置 removedOnCompletion=否 动画完成后,动画对象将保持附着到层。如果不创建新的CABasicAnimation,我将如何重新启动此动画 保持这个物体在周围有什么意义?我所知道的唯一好处是,我们可以设置removedOnCompletion=NO并设置kCAFillModeForwards,这样核心动画就不会将视觉表示还原回CALayer中的模型值 但是如何重复使用动画,就像每个人都在谈论的那

很多人都在谈论在使用完Cabasicanization对象后将其保留在周围

所以通过设置

removedOnCompletion=否

动画完成后,动画对象将保持附着到层。如果不创建新的CABasicAnimation,我将如何重新启动此动画

保持这个物体在周围有什么意义?我所知道的唯一好处是,我们可以设置removedOnCompletion=NO并设置kCAFillModeForwards,这样核心动画就不会将视觉表示还原回CALayer中的模型值

但是如何重复使用动画,就像每个人都在谈论的那样?

试试这个:

  • 使用添加关键点的动画

  • 若要稍后获取对它的引用,请致电

  • 阅读说明如何暂停和恢复(重新启动)动画的内容


  • 这对我来说很有效,但我相信有人会告诉我该值已存储在密钥中

    创建层并为其指定动画时,我将动画设置为与层关联的关键帧值

    在本例中,LayerCurrentAnimation是Cabasicanization,myAnimatedLayer是CALayer

    [myAnimatedLayer setValue:layersCurrentAnimation forKey:@"basicAnimation"]
    
    然后,如果动画停止,我将从层中获取动画值并重新运行它

    CABasicAnimation *thisAnimation = [myAnimatedLayer  valueForKey:@"basicAnimation"];
    
    [myAnimatedLayer addAnimation:thisAnimation forKey:nil];