我想创建一个动画,“创建视图的副本,将此副本从一个点移动到另一个点,同时降低不透明度直到它完全消失”。
我想我需要通过 a 来完成,CABasicAnimation
所以我尝试了类似的方法:
CGPoint point = CGPointMake(200, 0);
// copy layer
CALayer *layer = [[CALayer alloc] initWithLayer:self.animatedView.layer];
[self.animatedView.layer addSublayer:layer];
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
animation.fromValue = [layer valueForKey:@"position"];
animation.toValue = [NSValue valueWithCGPoint:point];
animation.duration = 2.0f;
CABasicAnimation *oanimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
oanimation.fromValue = @1;
oanimation.toValue = @0;
oanimation.duration = 1.0f;
// move copy layer
[layer addAnimation:animation forKey:@"position"];
[layer addAnimation:oanimation forKey:@"opacity"];
但是什么都没有,我认为这是关于文档的正常情况:
此初始化程序用于创建图层的影子副本,例如,用于presentationLayer 方法。在任何其他情况下使用此方法将产生未定义的行为。例如,不要使用此方法用现有图层的内容初始化新图层。
以前有人做过这种动画吗?
谢谢你的帮助。