#import "ViewController.h" #define IMAGE_COUNT 6 @interface ViewController () { UIImageView *myImageView; int currentIndex; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; myImageView=[[UIImageView alloc]init]; myImageView.frame=[UIScreen mainScreen].applicationFrame; myImageView.contentMode=UIViewContentModeScaleAspectFit; myImageView.image=[UIImage imageNamed:@"1"]; [self.view addSubview:myImageView]; UISwipeGestureRecognizer *leftGesture=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(leftSwipe:)]; leftGesture.direction=UISwipeGestureRecognizerDirectionLeft; [self.view addGestureRecognizer:leftGesture]; UISwipeGestureRecognizer *rightGesture=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(rightSwipe:)]; leftGesture.direction=UISwipeGestureRecognizerDirectionLeft; [self.view addGestureRecognizer:rightGesture]; } -(void)leftSwipe:(UISwipeGestureRecognizer *)gesture { [self transitionAnimation:YES]; } -(void)rightSwipe:(UISwipeGestureRecognizer *)gesture { [self transitionAnimation:NO]; } -(void)transitionAnimation:(BOOL)isNext { CATransition *transition=[[CATransition alloc]init]; transition.type=@"cube"; if (isNext) { transition.subtype=kCATransitionFromRight; } else { transition.subtype=kCATransitionFromLeft; } transition.duration=2.0f; myImageView.image=[self getImage:isNext]; [myImageView.layer addAnimation:transition forKey:@"KCTransitionAnimation"]; } -(UIImage *)getImage:(BOOL)isNext { if(isNext) { currentIndex=(currentIndex+1)%IMAGE_COUNT; } else { currentIndex=(currentIndex-1+IMAGE_COUNT)%IMAGE_COUNT; } NSString *imageName=[NSString stringWithFormat:@"%d",currentIndex]; return [UIImage imageNamed:imageName]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end