1. ホーム
  2. アイオス

[解決済み】UIImageViewで画像の変化をアニメーションで表現するには?

2022-04-07 12:48:09

質問

私は UIImageView を画像付きで表示します。今、私は全く新しいイメージ(グラフィックファイル)を持っていて、それを次のように表示したい。 UIImageView . もし私が

myImageView.image = newImage;

は、新しい画像がすぐに表示されます。アニメーションはできません。

新しい画像にきれいにフェードインさせたい。新しい画像を作成するよりも、もっと良い解決策があるのではないかと思いました。 UIImageView の上で、アニメーションでブレンドするのですか?

どのように解決するのですか?

UIViewsをフェード効果でアニメーションさせることができるかどうかはわかりません。 UIViewAnimationTransition を列挙しています。フェード効果は、CoreAnimationを使用して実現できます。この方法のサンプル例です。

#import <QuartzCore/QuartzCore.h>
...
imageView.image = [UIImage imageNamed:(i % 2) ? @"3.jpg" : @"4.jpg"];

CATransition *transition = [CATransition animation];
transition.duration = 1.0f;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionFade;

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