使用旋转添加一些随机运动

时间:2011-03-30 20:46:39

标签: xcode animation uiview

我有一个模拟计量针的图像,就像在VU表上一样,我使用以下代码使针摆动到所需的位置:

needleView.layer.anchorPoint = CGPointMake(0.5, 0.5);
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:5.0];
[UIView setAnimationBeginsFromCurrentState:YES];
// rotate 90 degrees of arc, in this case, from 90 degrees clockwise to 180 degrees:
self.needleView.transform = CGAffineTransformMakeRotation(90 * M_PI / 180);

[UIView commitAnimations];

工作正常。 然而,我想要做的是在针最终停留在所需值之前添加一些来回动画,换句话说,为针运动添加一些反弹。我无法弄清楚如何做到这一点。

感谢任何帮助。 LQ

1 个答案:

答案 0 :(得分:0)

一种方法是将针摆动分成碎片并在摆动之间施加随机抖动:

  1. 沿弧线创建统一步骤列表
  2. 在步骤中插入+或 - 抖动
  3. 将每个提交为duration / steps
  4. 的动画