首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CAReplicatorLayer

使用CAReplicatorLayer
EN

Stack Overflow用户
提问于 2011-09-28 12:07:17
回答 1查看 3K关注 0票数 9

我一直在尝试用CAReplicatorlayer、CATextLayer和非常基本的动画来创建一个很酷的文本效果。我试图让这些字母看起来像是从屏幕上掉下来的,然后是很酷的复制器,它们会变得越来越不显眼。我成功地做到了这个效果,但还没有完全做到。

到目前为止,我得到的是:

代码语言:javascript
复制
CATextLayer *messageLayer = [CATextLayer layer];

[messageLayer setForegroundColor:[[UIColor blackColor] CGColor]];
[messageLayer setContentsScale:[[UIScreen mainScreen] scale]];
[messageLayer setFrame:CGRectMake(0, 0, 40, 40)];
[messageLayer setString:@"A"];


CAReplicatorLayer *replicatorX = [CAReplicatorLayer layer];

//Set the replicator's attributes
replicatorX.frame = CGRectMake(0, 0, 40, 40);
replicatorX.anchorPoint = CGPointMake(0,0);
replicatorX.position = CGPointMake(0, 0);
replicatorX.instanceCount = 9;
replicatorX.instanceDelay = 0.15;
replicatorX.instanceAlphaOffset = -0.1;

replicatorX.zPosition = 200;
replicatorX.anchorPointZ = -160;

[replicatorX addSublayer:messageLayer];

[self.view.layer addSublayer:replicatorX];


messageLayer.position = CGPointMake(40, 400);
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position.y"];
animation.fromValue = [NSNumber numberWithInt:0];;
animation.toValue = [NSNumber numberWithInt:400];
animation.duration = 3;
[messageLayer addAnimation:animation forKey:@"s"];

我有两个问题:

  1. 复制层是从端点开始的。
  2. 当主层到达最后一个动画点时,动画停止,复制的层无法完成它们的动画。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-05 23:30:25

希望将正确的值设置为动画对象的fillMode和removedOnCompletion属性将解决您的问题:

“复制层是从终点开始的。”

这是由分配给instanceDelay属性的值造成的,该属性在示例中以0.15s延迟动画。要显示来自fromValue的动画,您需要通过将动画的fillMode设置为kCAFillModeBackwards来解释这种延迟。

代码语言:javascript
复制
animation.fillMode = kCAFillModeBackwards;

“当主层到达最后一个动画点时,动画停止,复制的层无法完成它们的动画。”

这是因为默认情况下,“动画在完成后从目标层的动画中删除。”1。可以通过将动画属性removedOnCompletion设置为NO来覆盖此默认行为。

代码语言:javascript
复制
animation.removedOnCompletion = NO;

希望这能有所帮助。:)

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

https://stackoverflow.com/questions/7582963

复制
相关文章

相似问题

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