2011-05-21 71 views
0

我想使用iPhone SDK无限旋转图像360度?如何使用iPhone SDK无限旋转图像360度?

这怎么办?

谢谢!

+1

你卡在哪一部分? – 2011-05-21 06:32:15

+0

我需要创造“财富之轮”。我有圆形图像,但我不知道如何旋转它。你能帮忙吗? – meetpd 2011-05-21 06:34:58

+1

你知道如何显示图像吗?你知道如何以一个角度展示它吗?你知道如何设置一个计时器来定期改变角度吗?重申:你坚持哪部分?如果你证明你已经做出了一些努力来自己解决问题,那么在stackoverflow上获得帮助通常会更容易。 – 2011-05-21 06:38:32

回答

4
-(void)startAnimationWithRevolutions:(float)revPerSecond forTime:(float)time 
{ 
    spinWheel.userInteractionEnabled = FALSE; 
    float totalRevolutions = revPerSecond * time; 
    [CATransaction begin]; 
    [CATransaction setValue:[NSNumber numberWithFloat:time] forKey:kCATransactionAnimationDuration]; 

    CABasicAnimation* spinAnimation = [CABasicAnimation 
             animationWithKeyPath:@"transform.rotation"]; 
    CGAffineTransform transform = spinWheel.transform; 
    float fromAngle = atan2(transform.b, transform.a); 
    float toAngle = fromAngle + (totalRevolutions*4*M_PI); 
    spinAnimation.fromValue = [NSNumber numberWithFloat:fromAngle]; 
    spinAnimation.toValue = [NSNumber numberWithFloat:toAngle]; 
    spinAnimation.repeatCount = 0; 
    spinAnimation.removedOnCompletion = NO; 
    spinAnimation.delegate = self; 
    spinAnimation.timingFunction = [CAMediaTimingFunction functionWithName: 
            kCAMediaTimingFunctionEaseOut]; 
    [spinWheel.layer addAnimation:spinAnimation forKey:@"spinAnimation"]; 
    [CATransaction commit]; 
} 

尝试使用这一点,它的工作原理。

0

假设你是在一个UIImageView显示图像,你可以旋转视图的局部坐标系(见here),并使用NSTimer定期增加旋转(见here)。

(我将使用OpenGL这一点,但是这只是一个个人喜好和可能是矫枉过正您的具体情况。)