【发布时间】:2012-01-27 03:41:20
【问题描述】:
我正在阅读 Apple 关于 CA 的文档,并尝试制作一个简单的动画。我想知道为什么这不起作用:
CABasicAnimation *goRight = [CABasicAnimation animationWithKeyPath:@"position"];
goRight.duration = 5;
goRight.fromValue = [NSValue valueWithCGPoint:CGPointMake(0, 0)];
NSLog(@":%@", [goRight.fromValue description]);
goRight.toValue = [NSValue valueWithCGPoint:CGPointMake(100, 100)];
CALayer *thelayer = [CALayer layer];
[thelayer addAnimation:goRight forKey:nil];
[self.aView.layer addSublayer:thelayer];
但如果我将最后几行更改为:
// CALayer *thelayer = [CALayer layer];
// [thelayer addAnimation:goRight forKey:nil];
// [self.aView.layer addSublayer:thelayer];
[self.aView.layer addAnimation:goRight forKey:nil];
这行得通。我想我在某处读到了 .layer 属性上的隐式或显式动画已关闭,所以我认为我应该练习将子层添加到主 .layer 属性并让动画作用于该层。
有人可以帮助解释我做错了什么吗?谢谢。
【问题讨论】:
标签: iphone core-animation