#import "ViewController.h"
@interface ViewController ()
{
int _index;
}
@property (nonatomic, weak)UIImageView *imageView;
@end
@implementation ViewController
- (UIImageView *)imageView
{
if (!_imageView)
{
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"1"]];
imageView.frame = CGRectMake(0, 0, self.view.frame.size.width, 400);
imageView.userInteractionEnabled = YES;
[self.view addSubview:imageView];
_imageView = imageView;
}
return _imageView;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_index = 1;
[self addSwipeGestureToImageView];
}
/**
* 添加轻扫手势
*/
- (void)addSwipeGestureToImageView
{
//注意:支持几个方向的扫动,就创建一个手势对象
//从左向右
UISwipeGestureRecognizer *leftSwipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeHandle:)];
//默认从左向右
leftSwipeGesture.direction = UISwipeGestureRecognizerDirectionRight;
[self.imageView addGestureRecognizer:leftSwipeGesture];
从右向左
UISwipeGestureRecognizer *rightSwipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeHandle:)];
rightSwipeGesture.direction = UISwipeGestureRecognizerDirectionLeft;
[self.imageView addGestureRecognizer:rightSwipeGesture];
}
- (void)swipeHandle:(UISwipeGestureRecognizer *)gesture
{
//子类型
NSString *subType = nil;
//从左向右
if (gesture.direction == UISwipeGestureRecognizerDirectionRight)
{
_index--;
if (_index == 0) {
_index = 8;
}
subType = kCATransitionFromLeft;
}
//从右向左
else
{
_index++;
if (_index > 8) {
_index = 1;
}
subType = kCATransitionFromRight;
}
/*
CATransition 转场动画
CAKeyframeAnimation 关键帧动画
CABasicAnimation 隐式动画(基本动画)
CAAnimationGroup 动画组
*/
//转场动画
CATransition *transition = [CATransition animation];
//类型(确定动画类型)
transition.type = @"cube";
//子类型(确定方向)
transition.subtype = subType;
//动画时间
transition.duration = 1;
[self.imageView.layer addAnimation:transition forKey:nil];
//修改图片
self.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d",_index]];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
轻扫手势
最新推荐文章于 2021-06-09 21:18:19 发布