zoukankan      html  css  js  c++  java
  • POP-一个点击带有放大还原的动画效果

    原理

    监听屏幕的点击事件

    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event;

    - (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event;

    - (void)touchesCancelled:(nullable NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event;

    动画

    pop动画,需要pop框架

    两个动画一个放大,一个还原

    kPOPViewScaleXY:放大宽高

    代码

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
        POPSpringAnimation *scaleAnimation = [POPSpringAnimation animation];
        scaleAnimation.property = [POPAnimatableProperty propertyWithName:kPOPViewScaleXY];//宽高改变
        scaleAnimation.toValue = [NSValue valueWithCGSize:CGSizeMake(1.3, 1.3)];//1.3倍
        [self pop_addAnimation:scaleAnimation forKey:@"scaleAnimationKey"];//执行动画
        scaleAnimation.completionBlock = ^(POPAnimation *animation,BOOL finish) { //动画回调
            POPSpringAnimation *scaleAnimation = [POPSpringAnimation animation];
            scaleAnimation.springBounciness = 16;    // value between 0-20
            scaleAnimation.springSpeed = 14;     // value between 0-20
            scaleAnimation.property = [POPAnimatableProperty propertyWithName:kPOPViewScaleXY];
            scaleAnimation.toValue = [NSValue valueWithCGSize:CGSizeMake(1.0, 1.0)];
            [self pop_addAnimation:scaleAnimation forKey:@"scaleAnimationKey"];
        };
    }

    效果图

  • 相关阅读:
    把DataSet转换成JSON
    adb devices无法连接设备
    fiddler运行报错:Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute'
    Jira 通过csv导入数据
    postman设置环境变量
    VirtualBox主机与虚拟机文件夹共享
    python selenium环境配置
    python json.dump中文乱码问题
    python字典
    python练习:猜价钱小游戏
  • 原文地址:https://www.cnblogs.com/hxwj/p/5033600.html
Copyright © 2011-2022 走看看