我已经实施了车速表,我有一个箭头图像。我想非常顺利地旋转0到180.可能吗?
答案 0 :(得分:1)
'速度计'是否意味着加速度计?
使用UIAccelerometer获取加速度计数据。然后用过滤器获取实际的运动数据。然后将它们转换为角度。这三个步骤可以在UIAccelerometer的官方示例中找到。
使用CGAffineTransform旋转图像视图。我认为这并不难。但我不知道这个。
答案 1 :(得分:0)
我刚刚写了一个显示速度计的iPhone应用程序。这是动画针图像动作的代码:
CABasicAnimation *rotateAnimation = [CABasicAnimation animation];
rotateAnimation.keyPath = @"transform.rotation.z";
rotateAnimation.fromValue = [NSNumber numberWithFloat:DegreesToRadians( self.needleAngle )];
rotateAnimation.toValue = [NSNumber numberWithFloat:DegreesToRadians( newNeedleAngle )];
rotateAnimation.duration = 1.5;
rotateAnimation.removedOnCompletion = NO;
// leaves presentation layer in final state; preventing snap-back to original state
//
rotateAnimation.fillMode = kCAFillModeBoth;
rotateAnimation.repeatCount = 0;
rotateAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
// Add the animation to the selection layer. This causes it to begin animating.
//
[self.needleIV.layer addAnimation:rotateAnimation forKey:@"rotateAnimation"];
“removeOnCompletion = NO”对于指针在动画完成后不会回弹到其起始位置非常重要。