iOS动画——回弹动画实例(pop动画)


     


     基于POP动画实现从界面底部弹出筛选框或者分享框的减速回弹效果

      项目实例如下: 动画效果为弹窗从底部弹出,并产生回弹动画效果

  




主要动画实现逻辑代码为:(先导入pop.h头文件,pop引擎可github下载)


弹出时:

 // 上滑回弹
    POPSpringAnimation *anSpring = [POPSpringAnimation animationWithPropertyNamed:kPOPLayerPositionY];
    anSpring.toValue             = @(self.choiceView.center.y-300*ScreenHeightRate);
    anSpring.beginTime           = CACurrentMediaTime()+0.2f;
    anSpring.springBounciness    = 15.0f;
    anSpring.springSpeed         = 12;
    [self.choiceView pop_addAnimation:anSpring forKey:@"position"];
    
    // 执行动画 改变关闭按钮透明度
    POPBasicAnimation  *alpha = [POPBasicAnimation animationWithPropertyNamed:kPOPViewAlpha];
    alpha.toValue             = @(1.f);
    alpha.duration            = 0.7f;
    alpha.beginTime           = CACurrentMediaTime() + 0.8f;
    [self.closeBtn pop_addAnimation:alpha forKey:nil];

消失时(由于需要保持生命周期和上次选项的状态,没有removeFromSubview):

- (void)viewGlide{

    // 下滑退出

    [UIView animateWithDuration:0.3f animations:^{
        
        self.blackView.alpha      = 0.f;
        self.closeBtn.alpha       = 0.f;
        self.choiceView.transform = CGAffineTransformMakeTranslation(0, 300*ScreenHeightRate);
    } completion:^(BOOL finished) {
       
        if (finished) {
            
            self.choiceView.transform = CGAffineTransformIdentity; // 恢复原始状态
            self.choiceView.frame = CGRectMake(12, self.height, self.width-24, 300*ScreenHeightRate);
            self.alpha = 0;

        }
       
        
    }];


}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值