1.使用easeOutElastic 函数来创建碰撞效果
2.将easeOutBounce创建出来的帧数组添加到关键帧动画中
- (void)keyFrameAnimation {
// 创建图片view
UIImageView *imageView = [[UIImageViewalloc] initWithFrame:CGRectMake(0,0, 320, 320)];
imageView.image = [UIImageimageNamed:@"pic"];
imageView.contentMode =UIViewContentModeScaleAspectFill;
[self.viewaddSubview:imageView];
// 创建关键帧动画(移动距离的动画)
CAKeyframeAnimation *keyFrameAnimation = [CAKeyframeAnimationanimation];
keyFrameAnimation.keyPath =@"position";
keyFrameAnimation.duration =2.f;
keyFrameAnimation.values = \
[YXEasingcalculateFrameFromPoint:imageView.center
toPoint:CGPointMake(320 /2.f, 320 / 2.f + 240)
func:BounceEaseOut
frameCount:2 *30];
imageView.center =CGPointMake(320 /2.f, 320 / 2.f + 240); //动画结束时的位置
// 添加动画
[imageView.layeraddAnimation:keyFrameAnimation forKey:nil];
}
缓动函数下载地址:http://download.csdn.net/detail/baitxaps/8890629