1

UIImageViewでズームアニメーション画像の変更を実現しようとしています。

ここまでで typemoveInと subtypeのトランジションを作成しましたfromLeft:

CATransition *transition = [CATransition animation];
[transition setSubtype:kCATransitionFromLeft];
[transition setType:kCATransitionMoveIn];
[transition setDuration:1.5];

[[imageView layer] addAnimation:transition forKey:nil];

しかし、ズーム効果が必要です。CABasicAnimation を使用して正常に作成しました。

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transition.scale"];
[animation setFromValue:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.0, 0.0, 1.0)]];
[animation setToValue:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]];
[animation setDuration:1.5];

[[imageView layer] addAnimation:animation forKey:nil];

私の問題は、2 番目のアプローチを使用すると、画像が変更され (古い画像がなくなる)、アニメーションが表示されることです。

つまり、これはアニメーションであり、トランジションではありません (名前が示すように)。

ズーム効果のあるトランジションを作成するにはどうすればよいですか?

4

1 に答える 1

0

これを使用してスケーリングできます。

setTransform:CGAffineTransformMakeScale

于 2015-10-28T09:00:52.173 に答える