@property(nonatomic,strong)NSArray*imageArray;
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor= [UIColor blackColor];
UIImage * image=[UIImage imageNamed:@"圣斗士01.jpg"];
UIImageView* imageView=[[UIImageView alloc]initWithFrame:self.view.bounds];
imageView.userInteractionEnabled=YES;
imageView.image=image;
[self.view addSubview:imageView];
//添加轻扫手势
UISwipeGestureRecognizer * swipeLeft=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swip:)];
[swipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft];
[imageView addGestureRecognizer:swipeLeft];
UISwipeGestureRecognizer * swipeRight=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swip:)];
[swipeRight setDirection:UISwipeGestureRecognizerDirectionRight];
[imageView addGestureRecognizer:swipeRight];
//3 初始化数据
NSMutableArray * arrayM=[NSMutableArray arrayWithCapacity:15];
for (NSInteger i=1; i<=15; i++) {
NSString * imageName=[NSString stringWithFormat:@"圣斗士%02d.jpg",(int)i];
UIImage *image=[UIImage imageNamed:imageName];
[arrayM addObject:image];
}
self.imageArray=arrayM;
}
#pragma mark -----轻扫手势-----
-(void)swip:(UISwipeGestureRecognizer*)swipe
{
//实例化转场动画 注意不
CATransition * transition=[[CATransition alloc]init];
//1 设置类型type
/**
kCATransitionFade
交叉淡化过滤
kCATransitionMoveIn
新视图移动到就是图的上边
kCATransitionPush
新视图把旧视图推过去
kCATransitionReveal
讲旧视图移开显示新视图
以上几个为直接写的
下边的是写在这个@“” 里边的
cube oglflip suckEffect
立体翻页 上下左右翻页的效果 收缩的效果
rippleEffect pageCurl pageUnCutl
�的效果 翻页 向下翻页
cameraIrisHollowOpen
相机打开的效果
cameraIrisHollowClose
相机关闭的效果
*/
[transition setType:@"cube"];
//2 根据轻扫方向来设置子类的类型 subtype
//判断轻扫的方向
UIImageView *imageView=(UIImageView*)swipe.view;
if (UISwipeGestureRecognizerDirectionLeft==swipe.direction) {
[transition setSubtype:kCATransitionFromRight];
imageView.tag=(imageView.tag+1) % self.imageArray.count;
}else
{
[transition setSubtype:kCATransitionFromLeft];
//负数取模 注意修正索引
imageView.tag=(imageView.tag-1+self.imageArray.count)%self.imageArray.count;
}
//设置时长
[transition setDuration:0.5f];
/**
* 在使用转场动画的时候 在转场动画添加到图层之前 设置视图的内容 转场动画会自动的完场内容的过滤
可以通过imageView 的tag值的属性记录当前的image索引
*/
// 添加动画
[imageView setImage:self.imageArray[imageView.tag]];
// 动画添加到视图
[swipe.view.layer addAnimation:transition forKey:nil];
}