首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Objective-C - CABasicAnimation在动画后应用更改?

Objective-C - CABasicAnimation在动画后应用更改?
EN

Stack Overflow用户
提问于 2012-07-17 11:30:37
回答 1查看 37.9K关注 0票数 61

我正在使用CABasicAnimation来移动和调整图像视图的大小。我希望图像视图被添加到superview,动画,然后从superview中删除。

为了实现这一点,我正在监听CAAnimationGroup的委托调用,一旦它被调用,我就从superview中删除图像视图。

问题是,有时图像在从superview中删除之前会在初始位置闪烁。避免这种行为的最好方法是什么?

代码语言:javascript
复制
CAAnimationGroup *animGroup = [CAAnimationGroup animation];
    animGroup.animations = [NSArray arrayWithObjects:moveAnim, scaleAnim, opacityAnim, nil];
    animGroup.duration = .5;
    animGroup.delegate = self;
    [imageView.layer addAnimation:animGroup forKey:nil];
EN

回答 1

Stack Overflow用户

发布于 2012-07-17 11:45:39

完成后,CAAnimations会自动删除。有一个属性removedOnCompletion可以控制这一点。您应该将其设置为NO

此外,还有一种称为fillMode的东西,它控制动画在其持续时间之前和之后的行为。这是在CAMediaTiming ( CAAnimation遵守的)上声明的属性。您应该将其设置为kCAFillModeForwards

有了这两个更改,动画应该在完成后仍然有效。但是,我不知道您是否需要在组中更改这些设置,或者在组中的单个动画上更改这些设置,或者两者都更改。

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11515647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档