2012-12-20 68 views
3

嗨,我是Iphone开发的新手。 我正在创建一个可变速度的旋转图像动画。 我怎么变速,但现在我想降低速度与触摸按住UIView。 我没有任何想法。那么,有人能帮助我吗?我可以得到一些想法的代码片段吗?如何降低UIView触摸保持旋转图像的速度?

我已经加入下面

CABasicAnimation* rotationAnimation; 

    rotationAnimation = 
    [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; 
    rotationAnimation.fromValue = [NSNumber numberWithFloat: M_PI *2.0 * appDelegate.direction]; 
    rotationAnimation.repeatCount = 1; 
    rotationAnimation.duration = interval; 
    rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; 
    rotationAnimation.fillMode = kCAFillModeForwards; 
    rotationAnimation.removedOnCompletion = YES; 
    [imgv.layer addAnimation:rotationAnimation forKey:@"rotation"]; 

    if(count<=repeatcount) 
    { 
     [self performSelector:@selector(funTime) withObject:nil afterDelay:interval]; 
     isNotRotating = TRUE; 
     interval = interval + addTime; 
     addTime = addTime+0.001; 
     lblCount.text = [NSString stringWithFormat:@"%d",count]; 
     count++; 
     NSLog(@"duration to rotate a single rotation %f",(interval+((repeat-1) *0.10)/repeat)); 
    } 
    else 
    { 
     tap=0; 
     isNotRotating= TRUE; 
     [imgv.layer removeAllAnimations]; 
    } 

由于一些代码片断提前

回答

1

我认为你有关于UIView的检测时间长触摸麻烦吗? 尝试定制自己的UIView

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 

- (void) touchesEnded... 

这些方法...等