「ビューのコピーを作成し、完全に消えるまで不透明度を下げながら、このコピーをあるポイントから別のポイントに移動する」アニメーションを作成したいと考えています。
私はそれを行う必要があると思うので、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 メソッド用にレイヤーのシャドウ コピーを作成するために使用されます。このメソッドを他の状況で使用すると、未定義の動作が発生します。たとえば、このメソッドを使用して、既存のレイヤーのコンテンツで新しいレイヤーを初期化しないでください。
誰かがこの種のアニメーションを以前にやったことがありますか?
ありがとうございます。