2012-02-06 2 views
2

일부 이미지의 알파를 0에서 1로 애니메이션하는 앱이 있습니다. popToRootViewController으로 이전보기로 돌아가서이보기로 돌아 오면 애니메이션은 뒤로 단추를 눌렀을 때의 위치에서 계속됩니다. 또한 "애니메이션 동영상"은 다른 애니메이션이 진행되는 동안 다시 시작됩니다. 한 번에 두 개의 영화가 재생됩니다.IOS 애니메이션 완료

이 같은 이미지를 표시 : 나는 다시 버튼을 누르면 애니메이션 프로세스를 중지 할 수있는 방법이

-(void)showStar2 
{ 

    [UIView animateWithDuration:0.3f animations:^{ 
     [UIView setAnimationDelay:0.3]; 
     [stars[1] setAlpha:1]; 
     } completion:^(BOOL finished){ 
     [self showStar3]; 
    }]; 

있습니까? [self.view.layer removeAllAnimations]을 시도했지만 여전히 작동하지 않습니다.

답변

0

QuartzCore.h 파일을 가져와야합니다.

#import <QuartzCore/QuartzCore.h> 

및 애니메이션 전화를 중지 할 때마다 당신이 당신의 starView을 만들기 전에이

[CATransaction begin]; 
[self.view.layer removeAllAnimations]; 
[CATransaction commit]; 
+0

작동하지 않습니다. 이보기로 돌아가서 다시 돌아 가면 애니메이션이 계속 표시됩니다. – Teo

+1

블록을 사용하는 대신 별 [1] .layer – murat

+0

에서 애니메이션을 제거해보십시오. 이전 방법 인 애니메이션을 커밋하는 uiview 애니메이션을 사용하십시오. –

0

이 제거됩니다

if (starView!=nil){ 
     [starView removeFromSuperview]; 
     [starView release]; 
     starView = nil; 
    } 
starView = [[UIView alloc] initWithFrame:frame]; 

(이 호출 방법을 모르는)이 넣어 당신의 새 이미지를 만들기 전에 이미지.

또는보기를 닫을 때 이미지를 제거하십시오.