zoukankan      html  css  js  c++  java
  • UITapGestureRecognizer+动画

    创建一个手势操作

      UITapGestureRecognizer点击手势

      UILongPressGestureRecognizer长按手势

      UISwipeGestureRecognizer滑动手势

       UIPinchGestureRecognizer按捏手势

    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(添加事件)];

            tapGesture.numberOfTapsRequired = 1;//需要点一下响应

            tapGesture.numberOfTouchesRequired = 1;//需要一根手指

            [self addGestureRecognizer:tapGesture];

    //    添加滑动手势

        UISwipeGestureRecognizer *swipeG = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(gesture:)];

        swipeG.direction = UISwipeGestureRecognizerDirectionRight;

        swipeG.delegate = self;

        [_redView addGestureRecognizer:swipeG];

        //添加手捏手势

        UIPinchGestureRecognizer *pinchG = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(gesture:)];

        pinchG.scale = 20;

       [_redView addGestureRecognizer:pinchG];

        //添加旋转手势

        UIRotationGestureRecognizer *rotationG = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(rotation:)];

        [_redView addGestureRecognizer:rotationG];

    //旋转

    -(void)rotation:(UIRotationGestureRecognizer *)gesture{

        _redView.transform = CGAffineTransformRotate(_redView.transform, gesture.rotation);

    }

     //放大动画

       CABasicAnimation *scaleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];

        scaleAnimation.fromValue = @1;

        if (type == kAnimationTypeInner) {

            scaleAnimation.toValue = @3;

        }else{

            scaleAnimation.toValue = @2;

        }

    //透明动画

    CABasicAnimation *opacityAniamtion = [CABasicAnimation animationWithKeyPath:@"opacity"];

        opacityAniamtion.fromValue = @1;

        opacityAniamtion.toValue = @0;

    //组动画,两个动画同时执行

    CAAnimationGroup *group = [CAAnimationGroup animation];

        group.animations = @[scaleAnimation,opacityAniamtion];

        group.duration = 0.5;

        group.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];

        return group;

  • 相关阅读:
    hibernate
    杨辉三角
    查看端口号
    一个线程同步问题的例子
    SQL关系数据库设计三大范式
    C#OpenFileDialog的使用
    莫队算法
    蒟蒻已知的高能数学公式
    C++ 产生随机数
    C++ 输出小数点后 n 位
  • 原文地址:https://www.cnblogs.com/yangqinglong/p/5363327.html
Copyright © 2011-2022 走看看