본문 바로가기
프로그래밍/iOS

아이폰에서 아이콘 삭제시 나오는 좌/우로 움직이는 애니메이션 효과 구현하기

by 백룡화검 2011. 6. 2.

이번에는 아이폰에서 아이콘을 길게 누르면

아이콘 삭제 모드로 전환됩니다. 그러면서 화면에 아이콘 이미지 삭제가 가능하게 아이콘들이 좌/우로 움직이죠,,

이러한 효과를 구현해 봅시다~!!!

 

 iphone's wobbling icon effect!!!!

 




긴 설명 없이 소스를 보시죠~

설명은 추석 처리했습니다.

#define RADIANS(degrees) ((degrees * M_PI) / 180.0)


   // iremView라는 아이콘을 가진 뷰어를 좌/우 흔들리는 애니메이션을 만들어보죠

    
// 좌/우 움직임에 대한 transform을 구하고~ 

    CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-5.0));

    CGAffineTransform rightWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(5.0));

    

 
// 일단 좌측 transform 을 설정합니다. 

    itemView.transform = leftWobble;  // starting point

    
// 애니메이션 설정을 하고~ 

    [UIView beginAnimations:@"wobble" context:itemView];

    [UIView setAnimationRepeatAutoreverses:YES]; // important
//반복 횟수 지정 

    [UIView setAnimationRepeatCount:10];

    [UIView setAnimationDuration:0.25];
// delegate 설정 

    [UIView setAnimationDelegate:self];
// call function 설정  

    [UIView setAnimationDidStopSelector:@selector(wobbleEnded:finished:context:)];

    

    itemView.transform = rightWobble; // end here & auto-reverse

    

    [UIView commitAnimations];

    
// 반복 종료후에는 아래의 콜백 함수가 호출됩니다~


- (void) wobbleEnded:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context 

{

    if ([finished boolValue]) {

        UIView* item = (UIView *)context;

        item.transform = CGAffineTransformIdentity;

    }

} 

    
 


감사합니다~ 

출처 : http://dongss.tistory.com/entry/iconEffect