Facebook 开源动画库 POP

本文介绍如何在iOS项目中使用POP动画库实现弹簧动画效果。通过在Podfile中引入并配置POP库,利用POPSpringAnimation类创建动画实例,调整动画属性如beginTime、springBounciness等,并将动画应用到UI元素上。文章还提供了动画完成后的回调处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用时 在Podfile文件里添加

pod 'pop'
复制代码

在文件中引入头文件

#import <POP.h>
复制代码

在使用时 创建一个pop类



  
    /**
     *  POPAnimation 是所有动画的基类  不可以使用;
     *  POPSpringAnimation的弹簧效果类  还有POPBasicAnimation基
     *  本效果类;
     *  POPDecayAnimation 衰减动画效果;
     *  kPOPLayerPositionX是修改动画的X属性
     *
     */

    POPSpringAnimation* anim = [POPSpringAnimation animationWithPropertyNamed:kPOPLayerSize];
    
    anim.beginTime = CACurrentMediaTime() +2.0;
    anim.springBounciness = 20;
    anim.fromValue = [NSValue valueWithCGSize:self.Img.frame.size];
//    anim.fromValue = @(self.Img.frame.size.width);
    anim.toValue = [NSValue valueWithCGSize:CGSizeMake(50, 50)];
    /**
     *  设置key是标记这个动画效果,以后可以通过key来找
     */
    [self.Img pop_addAnimation:anim forKey:@"通过这个key可以拿到这个动画"];
    POPSpringAnimation * an = [self.Img pop_animationForKey:@"通过这个key可以拿到这个动画"];
        NSLog(@"%@",an.toValue);
//动画执行完成后调用block;
    anim.completionBlock=^(POPAnimation * anim ,BOOL finished){
            NSLog(@"完成动画");
    };
复制代码

学习pop的demo https://github.com/MartinRGB/LearnCube-iOS https://github.com/schneiderandre/popping

转载于:https://juejin.im/post/5a31006051882546d71f5695

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值