#import "ViewController.h"
#define IMAGE_COUNT 5
@interface ViewController ()
/* 图片 */
@property (strong,nonatomic) UIImageView *imageView;
/* 当前下标*/
@property (assign,nonatomic) NSInteger currentIndex;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.imageView = [[UIImageView alloc] init];
self.imageView.frame = [UIScreen mainScreen].bounds;
//这个图片会在View中显示,并且比例不变
self.imageView.contentMode = UIViewContentModeScaleAspectFit;
self.imageView.image = [UIImage imageNamed:@"0.jpg"];
[self.view addSubview:self.imageView];
//添加手势
UISwipeGestureRecognizer *left = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftSwipe:)];
left.direction = UISwipeGestureRecognizerDirectionLeft;
[self.view addGestureRecognizer:left];
UISwipeGestureRecognizer *right = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipe:)];
right.direction = UISwipeGestureRecognizerDirectionRight;
[self.view addGestureRecognizer:right];
}
- (void)leftSwipe:(UISwipeGestureRecognizer *)gestur{
[self transitionAnimation:YES];
}
- (void)rightSwipe:(UISwipeGestureRecognizer *)gestur{
[self transitionAnimation:NO];
}
- (void)transitionAnimation:(BOOL)isNext{
//1.创建转场动画
CATransition *tran = [[CATransition alloc] init];
//效果
tran.type = @"cube";
if (isNext) {
tran.subtype = kCATransitionFromRight;
}else{
tran.subtype = kCATransitionFromLeft;
}
tran.duration = 1.0f;
self.imageView.image = [self getImage:isNext];
[self.imageView.layer addAnimation:tran forKey:@"Transition"];
}
- (UIImage *)getImage:(BOOL)isNext{
//后一张
if (isNext) {
self.currentIndex = (self.currentIndex + 1) % IMAGE_COUNT;
}else{
self.currentIndex = (self.currentIndex - 1 + IMAGE_COUNT) % IMAGE_COUNT;
}
//往数组中添加图片,图片名与下标名对应
NSString *imageName = [NSString stringWithFormat:@"%ld.jpg",self.currentIndex];
return [UIImage imageNamed:imageName];
}
@end
网友评论