2011-03-10 9 views
3

내가이 setAnimationDidStopSelector에 사과 설명서의 다음 보았다.왜 setAnimationDidStopSelector가 권장되지 않습니까?

"이 방법을 사용하면 나중에 아이폰 OS 4.0에 낙담하고 당신은 블록 기반의 애니메이션 방법을 사용하는 경우, 당신은 내부에서 직접 대리인의 종료 코드를 포함 할 수 있습니다 블록."

나는 애니메이션 블록 안에 애니메이션을 넣는 대신 애니메이션을 넣으려고했는데 애니메이션은 setAnimationDidStopSelector를 사용할 때와 똑같지는 않습니다.

setAnimationDidStopSelector의 사용을 방해하는 이유는 무엇입니까?

답변

18

Cocoa Touch에서 사용되지 않는 많은 API가 있습니다. 프레임 워크는 상당히 젊고 Apple은 여전히 ​​기본 코드를 수정하고 있습니다. 질문에서와 같이 표현할 때 "블록 애니메이션을 완벽하게 만드는 데 모든 노력을 집중할 것입니다. setAnimationDidStopSelector는 향후 언젠가는 더 이상 사용되지 않을 것입니다 - 스스로 호의를 베풀어 사용을 중지하십시오."

애니메이션의 동작이 이상하게 들리십니까? 이런 식으로 해 봤니?

[UIView animateWithDuration:1.0 
     delay: 0.0 
     options: UIViewAnimationOptionCurveEaseIn 
     animations:^{ 
      aView.alpha = 0.0; 
     } 
     completion:^(BOOL finished){ 
      // Do your setAnimationDidStopSelector stuff here! 
     }]; 
+0

감사합니다! 실제로 [UIView beginAnimations : nil context : nil]; ... – prostock

+1

블록은 갈 길이 멀다. 나는 옛날 스타일의 클래스 방법이 최고로 좋았다. +1 – slf

관련 문제