suroMind

[iOS]CATransction을 이용한 애니메이션 구현 본문

IT분야/iOS

[iOS]CATransction을 이용한 애니메이션 구현

suroMind 2012. 2. 22. 15:22

출처 : http://www.prapps.net/514

* <QuartzCore/QuartzCore.h> import

        //트랜잭션 시작

   [CATransaction begin]; 

   [CATransaction setValue:[NSNumber numberWithBool:YES]  forKey:kCATransactionDisableActions];

   [CATransaction setValue:[NSNumber numberWithFloat:0.5f]  forKey:kCATransactionAnimationDuration];  //실행되는 시간

        

   // Animation 설정

   CATransition *push = [CATransition animation];

   [push setType:kCATransitionMoveIn];      //Animation 타입  

   push.subtype = kCATransitionFromLeft;    //Animation이 시작될 위치 

   //push.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];

        
    //애니메이션이 일어날 뷰의 레이어에 애니메이션을 추가 시킨다. 

   [self.imgMain.layer addAnimation:push forKey:kCATransition];  

    
   //이미지뷰에 이미지 변경 

   UIImage *tempImg = [[UIImage alloc] initWithData:data];

   self.imgMain.image = tempImg;

   [tempImg release];

       
   //애니메이션 시작 

   [CATransaction commit];
 

** 애니메이션 타입과 시작될 위치 및 애니메이션이 일어날 뷰의 레이어만 잘 적용한다면 원하는 애니메이션을 구현하실 수 있습니다.

* 애니메이션 타입
  - kCATransitionFade
  - kCATransitionMoveIn
  - kCATransitionPush
  - kCATransitionReveal 

* 서브 타입
  - kCATransitionFromRight
  - kCATransitionFromLeft
  - kCATransitionFromTop
  - kCATransitionFromBottom 

'IT분야 > iOS' 카테고리의 다른 글

AFNetworking  (0) 2012.06.29
[iOS]한글 추가 폰트 사용하기  (0) 2012.02.22
[iOS] Audio Streaming  (2) 2012.02.17
[iOS] TBXML 파서로 XML 파싱하기  (0) 2012.02.08
[iOS] Background Pattern Image 적용  (0) 2012.02.08
Comments