1
我遇到了问题CAAnimationGroup
。我有一个名为animeView
的视图,我想同时应用围绕Y轴的3D旋转和缩放转换。旋转和缩放动画效果很好分开!但是当我将它们添加到CAAnimationGroup
非动画发生!CAAnimationGroup不能正常工作
什么问题?
CAKeyframeAnimation *rotation = [CAKeyframeAnimation animation];
CATransform3D rotationTransform = CATransform3DMakeRotation(M_PI, 0.0f, 1.0f, 0.0f);
rotationTransform.m34 = 1.0/-500;
rotation.values = [NSArray arrayWithObjects:
[NSValue valueWithCATransform3D:CATransform3DMakeRotation(0.0f, 0.0f, 1.0f, 0.0f)],
[NSValue valueWithCATransform3D:rotationTransform],
[NSValue valueWithCATransform3D:CATransform3DMakeRotation(2.0*M_PI, 0.0f, 1.0f, 0.0f)] ,nil];
CAKeyframeAnimation *trans = [CAKeyframeAnimation animation];
trans.values = [NSArray arrayWithObjects:[NSValue valueWithCATransform3D:CATransform3DIdentity],[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.5, 0.5, 0.5)],[NSValue valueWithCATransform3D:CATransform3DIdentity], nil];
CAAnimationGroup *group = [CAAnimationGroup animation];
group.delegate = self;
[group setAnimations: [NSArray arrayWithObjects:rotation, trans, nil]];
group.duration = 2;
group.repeatCount = 3;
[self.animView.layer addAnimation:group forKey:nil];
你永远设置,您设置动画的关键路径。此外,你不应该动画变换两次 – 2012-07-13 07:38:01
我不明白关键路径。它是否就像动画的标签?它是否必须是特定于每种转换的东西? – Armin 2012-07-15 00:07:18
顺便说一句,我不是动画变换两次。这些应该同时发生,这就是为什么我使用CAAnimationGroup! – Armin 2012-07-15 00:08:43