iOS SDK の詳細説明コラムへようこそ
知らず知らずのうちに、iOS アニメーション シリーズの 5 番目の記事を書きました。 ここでは、私が以前に書いたアニメーションに関する 4 つの記事を簡単に見つけることができます。
前書き: CATransition は CAAnimation のサブクラスであり、その主な目的はビューのリロードの遷移アニメーションを定義することです。この統合クラスを使用すると、わずか数行のコードで素晴らしい効果を作成できます。
アニメーション
コア コード、
CATransition * transition = [CATransition animation]; transition.type = kCATransitionFade; transition.duration = 1.0; [self.imageview.layer addAnimation:transition forKey:@"ToNext"]; self.imageview.image = nextImage;
完全なコード
最初にストーリーボード上のイメージビューをドラッグし、アウトレット
@interface ViewController ()@property (weak, nonatomic) IBOutlet UIImageView *imageview;@property (assign,nonatomic)NSInteger currentIndex;@end@implementation ViewController-(NSArray *)imagesNamesArray{ return @[@"meidui1.jpg", @"meidui2.jpg"];}- (void)viewDidLoad { [super viewDidLoad]; UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(changeToNextImage)]; self.imageview.userInteractionEnabled = true; [self.imageview addGestureRecognizer:tap]; self.currentIndex = 0;}-(void)changeToNextImage{ self.currentIndex = (self.currentIndex + 1) % 2; NSString * imageName = [[self imagesNamesArray] objectAtIndex:self.currentIndex]; UIImage * nextImage = [UIImage imageNamed:imageName]; CATransition * transition = [CATransition animation]; transition.type = kCATransitionFade; transition.duration = 1.0; [self.imageview.layer addAnimation:transition forKey:@"ToNext"]; self.imageview.image = nextImage;}
アニメーション
コードをドラッグする必要があります
そうだねそこ主要なタイプは 4 つです
CATransition * transition = [CATransition animation]; transition.duration = 1.0;//动画间隔 transition.type = kCATransitionMoveIn;//主要种类,决定动画效果 transition.startProgress = 0.0;//开始 transition.endProgress = 1.0;//结束 transition.subtype = kCATransitionFromRight;//次要种类,决定动画方向 transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];//时间函数 [self.imageview.layer addAnimation:transition forKey:@"ToNext"]; self.imageview.image = nextImage;
二次的なタイプも 4 つあります
NSString * const kCATransitionFade; //消退NSString * const kCATransitionMoveIn;//移入NSString * const kCATransitionPush;//pushNSString * const kCATransitionReveal;//退出