用缓动函数模拟衰减效果
- (void)keyFrameAnimation {
// 背景变暗的view
UIView *backView = [[UIViewalloc] initWithFrame:self.view.bounds];
backView.backgroundColor = [UIColorblackColor];
backView.alpha =0;
[UIViewanimateWithDuration:1.fanimations:^{
backView.alpha =0.3;
}];
[self.viewaddSubview:backView];
// 创建模拟的菜单
UIImageView *imageView = [[UIImageViewalloc] initWithFrame:CGRectMake(320,0, 320, 568)];
imageView.image = [UIImageimageNamed:@"pic"];
[self.viewaddSubview:imageView];
// 创建关键帧动画
CAKeyframeAnimation *keyFrameAnimation = [CAKeyframeAnimationanimation];
keyFrameAnimation.keyPath =@"position";
keyFrameAnimation.duration =1.f;
keyFrameAnimation.values = \
[YXEasingcalculateFrameFromPoint:imageView.center
toPoint:CGPointMake(self.view.center.x +100, self.view.center.y)
func:CubicEaseOut
frameCount:1 *30];//插入帧数
// 加载关键帧动画
imageView.center =CGPointMake(self.view.center.x +100, self.view.center.y);
[imageView.layeraddAnimation:keyFrameAnimation forKey:nil];
}
1.用缓动函数模拟衰减效果:一般用于弹出的菜单要求比较高的地方,看起来很好,用系统的动画也可以,但没有这么逼真
2.缓动函数功能:模拟现实世界中一些物理动画过程效果,如秒钟来加摆动,物理,加速度
3.建议每秒钟插入帧数30,因为人眼每秒钟只能识别30帧左右,写的太大,浪费CPU的性能
4.缓动函数下载地址:http://download.csdn.net/detail/baitxaps/8890629