iOS- 点赞动画效果

点赞我们都知道,最简单的就是通过Bool变量或者selected来判断是否选中,然后替换原来的图片,要想有个简单的动画效果,前面博主写过Core Animation里的关键帧动画,这里就用关键帧动画CAKeyframeAnimation来做,只需要在按钮响应方法中添加以下代码,同时替换图片:

 if (_isSelected == NO) {
        _isSelected = YES;
        [likeBtn setBackgroundImage:[UIImage imageNamed:@"detail_unup_group"] forState:UIControlStateNormal];
    }
    else
    {
        _isSelected = NO;
        [likeBtn setBackgroundImage:[UIImage imageNamed:@"detail_up_group"] forState:UIControlStateNormal];
    }
    CAKeyframeAnimation * animation;
    animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
    animation.duration = 0.5;
    animation.delegate = self;
    animation.removedOnCompletion = YES;
    animation.fillMode = kCAFillModeForwards;

    NSMutableArray *values = [NSMutableArray array];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.1, 0.1, 1.0)]];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.1, 1.1, 1.0)]];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.9, 0.9, 0.9)]];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]];

    animation.values = values;
    [likeBtn.layer addAnimation:animation forKey:nil];

是不是很简单,自己找张图片试试吧,Demo就不放了。
还可以加上爆炸的烟花效果,使用CAEmitterLayer,基本使用前面有介绍,但是具体的掌控比较复杂,有兴趣的自己研究下吧。

你可能感兴趣的:(iOS日常开发,Core,Animation)