2012-09-18 2 views
0

애니메이션이 2 개 있습니다. 앱이로드 될 때 첫 번째 항목과 사용자 환경의 나머지 부분을 그대로 유지하는 두 번째 항목입니다. 여기 애니메이션 앱 "A"와 애니메이션 "B"가 같은 위치에 있음

내가 할 때 응용 프로그램의 부하를로드 간단히 말해서

1) 애니메이션 "A"에하고 싶은 것입니다. 그때 animationa "A"를 숨기고 애니메이션 "B"가 동일한 좌표 3)에 애니메이션을 "B"로 대체 30 초 간격 또는 45

애니메이션에 다른 시간 또는 재생할 2)

[UIView animateWithDuration:2.5 
         delay:2.0 
        options:UIViewAnimationCurveEaseIn 
       animations:^{[buhoButton setFrame:CGRectMake(91, 185, 130, 130)];}completion:nil]; 

애니메이션 B

animation.animationImages = [NSArray arrayWithObjects:[UIImage imageNamed:@"Buho128x128_0.png"], 
            [UIImage imageNamed:@"Buho128x128_1.png"], 
            [UIImage imageNamed:@"Buho128x128_2.png"], 
            [UIImage imageNamed:@"Buho128x128_3.png"], 
            [UIImage imageNamed:@"Buho128x128_4.png"], 
            [UIImage imageNamed:@"Buho128x128_3.png"], 
            [UIImage imageNamed:@"Buho128x128_2.png"], 
            [UIImage imageNamed:@"Buho128x128_1.png"], 
            [UIImage imageNamed:@"Buho128x128_0.png"], nil]; 
[animation setAnimationRepeatCount:-1]; 
animation.animationDuration = 1; 
[animation startAnimating]; 

이 가능한가? 애니메이션 (A)의 completition 블록에 애니메이션 B에 대한 코드를 넣어

답변

1

시도는 :

[UIView animateWithDuration:2.5 
        delay:2.0 
       options:UIViewAnimationCurveEaseIn 
      animations:^{[buhoButton setFrame:CGRectMake(91, 185, 130, 130)];} 
      completion:^(BOOL finished){/*Animation B code here*/;} 
]; 
+0

A가 끝나면 애니메이션 B를 시작했습니다. 이제는 애니메이션 A를 한 번 숨기는 방법에 직면했습니다. 그러면 애니메이션 B가 뒤처집니다. – Jiraheta

+0

애니메이션 A가 완료되면 버튼을 숨기고 싶습니까? 그렇다면 buhoButton.hidden = YES를 설정하십시오. 완료 블록에. – ale84

+0

젠체하는 사람! 그 매력처럼 작동! 정말 고맙습니다. – Jiraheta

1

당신이 애니메이션 B는 removedOnCompletion와 CABAsicAnimation을 사용할 수 트리거 할 때를 제어하려면 = YES 애니메이션 A의 (에 배치 viewDidLoad) 및 removedOnCompletion = NO (애니메이션을 트리거하는 이벤트가 처리 된 위치).

+0

당신은 예제를 가지고 있습니까? – Jiraheta

+0

다음은 Apple의 MoveMe 샘플 코드 예제입니다. CABasicAnimation * transformAnimation = [CABasicAnimation animationWithKeyPath : @ "transform"]; transformAnimation.removedOnCompletion = YES; transformAnimation.duration = animationDuration; –

관련 문제