ios手势复习值之换图片-转场动画(纯代码)

目标:实现通过手势进行图片的切换   通过左扫右扫 来实现(纯代码)

添加三个属性 1uiImageView 用来显示图片的view 

      2 index 用来表示图片的索引

      3 ISLeft 判断是不是向左滑  

下边是详细的代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.index = 0;
    self.ISLeft = YES;
    _imageView = [[UIImageView alloc]initWithFrame:self.view.frame];
   // _imageView.backgroundColor = [UIColor redColor];
    _imageView.contentMode = UIViewContentModeScaleAspectFit;//合适的大小
    
    self.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%ld.png",_index]];
    
    [self.view addSubview:_imageView];
    
    
    //用户交互设置
    self.imageView.userInteractionEnabled = YES;

    //添加扫动得手势
    UISwipeGestureRecognizer *swipL = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swip:)];
    swipL.direction = UISwipeGestureRecognizerDirectionLeft;
    [self.imageView addGestureRecognizer:swipL];
    
    
    UISwipeGestureRecognizer *swipR = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swip:)];
    swipR.direction = UISwipeGestureRecognizerDirectionRight;
    [self.imageView addGestureRecognizer:swipR];
    
}

设置转场动画 :在手势里边进行实现 

手势的实现以及转场动画:

-(void)swip:(UISwipeGestureRecognizer *)sender

{

    if(sender.direction == UISwipeGestureRecognizerDirectionLeft)

    {

        if(self.index>=0)

        {

            if(self.index>0)

            {

                self.index--;

            }

            else

                

            {

                self.index =3;

            }

            self.ISLeft = YES;

        }

    }

    else

    {

        self.ISLeft = NO;

        if(self.index<3)

        {

            self.index++;

            if(self.index ==3)

            {

                self.index =0;

            }

        }

    }

    

    //转场动画

    CATransition *trans = [[CATransition alloc]init];
  //转场动画的类型
    trans.type =@"push";
    //判断是不是向左滑
    if(self.ISLeft)

    {

        trans.subtype = kCATransitionFromTop;

    }

    else

    {

        trans.subtype = kCATransitionFromBottom;

    }

    trans.duration = 0.5f;

    [self.imageView.layer addAnimation:trans forKey:@"trans"];

    //切换图画

    self.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%ld",_index]];

    

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小灰灰

Android 之游戏开发流程

一、概述 刚开始接触Android平台,之前也没有游戏开发经验,因此对于如何开发一款游戏没有思路,而且也不知道如何对整个项目进行模块划分。在学习连连看的教程时,...

20960
来自专栏Android相关

RecyclerView的NestedScroll实现

16920
来自专栏青蛙要fly的专栏

项目需求讨论:截图—涂鸦—分享

这个也是具体项目中遇到的项目需求:需要在一个特定的界面中(都是图表和各种数据,可能需求分享给别人,告诉别人这个数据怎么怎么,这个图表怎么怎么) 所以给我们开发的...

15540
来自专栏向治洪

一个可以拖动的自定义Gridview代码

这个可以拖动的gridview继承于gridview,所以,用法和gridview一样, 代码如下: public class DragGridView ext...

26070
来自专栏飞扬的花生

qrCode生成二维码图片

QRCode.js 是一个用于生成二维码图片的插件。 1.文件脚本 var QRCode;!function(){function a(a){this.mode...

859120
来自专栏xingoo, 一个梦想做发明家的程序员

【插件开发】—— 7 SWT布局详解,不能再详细了!

前文回顾: 1 插件学习篇 2 简单的建立插件工程以及模型文件分析 3 利用扩展点,开发透视图 4 SWT编程须知 5 SWT简单控件的使用与布局搭...

244100
来自专栏androidBlog

仿网易新闻的顶部导航指示器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details...

16310
来自专栏Android开发指南

7.侧滑、ViewDragHelper、属性动画

33550
来自专栏Android干货园

Android源码解析--超好看的下拉刷新动画

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/48...

36220
来自专栏拂晓风起

Stage3d AGAL GPU处理照片 旧照片效果 sepia || pixelbender

12230

扫码关注云+社区

领取腾讯云代金券