일련의 다른 애니메이션을 구현하는 것이 가장 좋은 방법인지 궁금합니다. 다음 메서드를 호출하고 오른쪽, 왼쪽 및 위로 같은 개체에 애니메이션을 적용하려고하면 컴파일러에서 선형 방식으로 처리하지 않기 때문에 작동하지 않습니다. 따라서 개체가 생깁니다. 이것에iphone 연속 애니메이션
-(IBAction)clickStart
{
[self Animation1];
[self Animation2];
[self Animation3];
}
지금 내가 할 수있는,하지만 어떻게 든 나에게 복잡하고 이상한 느낌 : 단순히 (단계를 왼쪽 오른쪽으로 이동 건너 뛰기) 올라가고.
[pageShadowView setFrame:CGRectMake(100, 0, CGRectGetWidth(pageShadowView.frame), CGRectGetHeight(pageShadowView.frame))];
[UIView beginAnimations:@"Animation1" context:nil]; // Begin animation
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(Animation2)];
[pageShadowView setFrame:CGRectMake(200, 0, CGRectGetWidth(pageShadowView.frame), CGRectGetHeight(pageShadowView.frame))];
[UIView commitAnimations]; // End animations
을 그리고 나는 그것이 완료되면 Animation3를 호출 즉, Animation2에서 동일한 기능을 수행 할 수 있습니다 :이 Animation1 방법입니다 고려. 그러나 솔직히 말해서 이것은 매우 혼란스럽고 명확한 코딩 방법이 아닙니다. 어쨌든 내가 처음에 제안한 것과 같은 "선형"코드를 얻을 수 있습니까 (작동하지 않습니다), 아니면 단순히 선택기 메서드로 살 필요가 있습니까?
의견을 보내 주셔서 감사합니다.
고마워요. 비록 처음에는 혼란스러워 보일지라도, 이것은 셀렉터 방식으로 똑같은 일을하는 것보다 실제로 훨씬 더 명확하다고 생각합니다. 적어도 선형으로 표현 된 코드가 있습니다. 감사! –
블록은 일반적으로 스파게티 코드로 이어지는 클래스 수준에서 애니메이션 상태를 저장할 필요가 없음을 의미합니다. – mxcl