2011-12-28 2 views
1

예를 들어 가로 상태에서 애니메이션을 사용하고 상태 A에서 B까지 지속 시간은 5.0 초입니다. 5.0s의 중간에 iPad를 가로 방향에서 세로 방향으로 회전시킬 수 있습니다. 애니메이션을 멈추고 회전 한 후 UI 상태를 C로 만듭니다.회전 할 때 애니메이션을 중단/중지 할 수 있습니까?

내 질문에 분명하지 않습니다. 어떻게하면됩니까?

내 애니메이션 코드 :

- (void)moveImage:(UIImageView *)image duration:(NSTimeInterval)duration x:(NSNumber*)dx y:(NSNumber*)dy 
{ 

    // Setup the animation 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:duration]; 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
    [UIView setAnimationBeginsFromCurrentState:YES]; 

    // The transform matrix 
    float fx = [dx floatValue]; 
    float fy = [dy floatValue]; 

    CGAffineTransform transform = CGAffineTransformMakeTranslation(fx, fy); 
    //CGAffineTransform transform = CGAffineTransformMakeRotation(0.4); 
    //CGAffineTransform transform = CGAffineTransformMakeScale(2.0, 2.0); 

    image.transform = transform; 

    // Commit the changes 
    [UIView commitAnimations];  
} 
+0

해야한다. 자신의 질문을 다시 편집하여 애니메이션 작업을하는 방법을 보여줄 수있는 약간의 코드를 추가 할 수 있습니까? 애니메이션을 수행하는 몇 가지 방법이 있으므로 유용한 대답은 구현에 따라 달라집니다. 감사! –

답변

2
  1. Starting and Stopping Explicit Animations은 회전이 시작되면
  2. willRotateToInterfaceOrientation:duration 당신을 통지 코어 애니메이션을 시작 및 중지에 대한 섹션이 있습니다.

그래서 모든 나는 당신의 문제가 엑스 코드와 함께하지만, 아이폰 OS와는 아무 상관이 없기 때문에, 태그 및 단어 엑스 코드를 제거하는 질문을 편집 1) 2)에서

+0

감사합니다. 그러나 나는 아직도 이해하지 못한다. – droughtrain

관련 문제