Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UIView在iOS中为二维反弹球(挤压和拉伸)设置动画_Ios_Objective C_Core Animation - Fatal编程技术网

UIView在iOS中为二维反弹球(挤压和拉伸)设置动画

UIView在iOS中为二维反弹球(挤压和拉伸)设置动画,ios,objective-c,core-animation,Ios,Objective C,Core Animation,正在寻找动画,如使用挤压和拉伸反弹球,在可可使用核心动画 1-反弹球动画 ;;;; 以下代码将生成上面的动画: CAKeyframeAnimation *trans = [CAKeyframeAnimation animationWithKeyPath:@"transform.translation.y"]; NSArray *values = @[@(-200),@(20),@(0)]; trans.values = values; NSArray *times = @[@(0.0),@(0

正在寻找动画,如使用挤压和拉伸反弹球,在可可使用核心动画

1-反弹球动画

;;;;

以下代码将生成上面的动画:

CAKeyframeAnimation *trans = [CAKeyframeAnimation animationWithKeyPath:@"transform.translation.y"];
NSArray *values = @[@(-200),@(20),@(0)];
trans.values = values;
NSArray *times = @[@(0.0),@(0.85),@(1)];
trans.keyTimes = times;
trans.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
trans.autoreverses = YES;
trans.duration = 1.0;
trans.repeatCount = INFINITY;

CAKeyframeAnimation *scaleXAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform.scale.x"];
NSArray *scaleXValues = @[@(0.75),@(0.75),@(1)];
scaleXAnimation.values = scaleXValues;
NSArray *scaleXtimes = @[@(0.0),@(0.85),@(1)];
scaleXAnimation.keyTimes = scaleXtimes;
scaleXAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
scaleXAnimation.autoreverses = YES;
scaleXAnimation.duration = 1.0;
scaleXAnimation.repeatCount = INFINITY;

CAKeyframeAnimation *scaleYAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform.scale.y"];
NSArray *scaleYValues = @[@(0.75),@(1),@(0.85)];
scaleYAnimation.values = scaleYValues;
NSArray *scaleYtimes = @[@(0.1),@(0.5),@(1)];
scaleYAnimation.keyTimes = scaleYtimes;
scaleYAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
scaleYAnimation.autoreverses = YES;
scaleYAnimation.duration = 1.0;
scaleYAnimation.repeatCount = INFINITY;

[_ballView.layer addAnimation:scaleXAnimation forKey:@"scaleX"];
[_ballView.layer addAnimation:scaleYAnimation forKey:@"scaleY"];
[_ballView.layer addAnimation:trans forKey:@"trans"];
以下代码将生成上面的动画:

CAKeyframeAnimation *trans = [CAKeyframeAnimation animationWithKeyPath:@"transform.translation.y"];
NSArray *values = @[@(-200),@(20),@(0)];
trans.values = values;
NSArray *times = @[@(0.0),@(0.85),@(1)];
trans.keyTimes = times;
trans.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
trans.autoreverses = YES;
trans.duration = 1.0;
trans.repeatCount = INFINITY;

CAKeyframeAnimation *scaleXAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform.scale.x"];
NSArray *scaleXValues = @[@(0.75),@(0.75),@(1)];
scaleXAnimation.values = scaleXValues;
NSArray *scaleXtimes = @[@(0.0),@(0.85),@(1)];
scaleXAnimation.keyTimes = scaleXtimes;
scaleXAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
scaleXAnimation.autoreverses = YES;
scaleXAnimation.duration = 1.0;
scaleXAnimation.repeatCount = INFINITY;

CAKeyframeAnimation *scaleYAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform.scale.y"];
NSArray *scaleYValues = @[@(0.75),@(1),@(0.85)];
scaleYAnimation.values = scaleYValues;
NSArray *scaleYtimes = @[@(0.1),@(0.5),@(1)];
scaleYAnimation.keyTimes = scaleYtimes;
scaleYAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
scaleYAnimation.autoreverses = YES;
scaleYAnimation.duration = 1.0;
scaleYAnimation.repeatCount = INFINITY;

[_ballView.layer addAnimation:scaleXAnimation forKey:@"scaleX"];
[_ballView.layer addAnimation:scaleYAnimation forKey:@"scaleY"];
[_ballView.layer addAnimation:trans forKey:@"trans"];

你试过什么了吗?您是否能够真实地上下移动视图?那个动画会重复吗?您是否能够沿一个轴缩放视图?你能把这些时间安排在一起吗?等等。你是想创造同样的假3D效果,还是那只是一个弹跳球的插图?@DavidRönnqvist我添加了一些代码,这就是我想你在寻找的CAKeyframeAnimation@DavidR是的,我在找你的梦想你试过什么了吗?您是否能够真实地上下移动视图?那个动画会重复吗?您是否能够沿一个轴缩放视图?你能把这些时间安排在一起吗?等等。你是想创造同样的假3D效果,还是那只是一个弹跳球的插图?@DavidRönnqvist我添加了一些代码,这就是我想你在寻找的CAKeyframeAnimation@DavidRönnqvist是的,我正在寻找答案,我会在未来24小时内实施,如果它工作正常。我会接受你的答案。谢谢你,这真的帮了我。当然,祝你愉快,我得到了你的答案,我会在接下来的24小时内实施它,如果它工作正常的话。我会接受你的回答。谢谢你,这真的帮助了我。当然,享受和快乐的编码