2013 이전/iOS개발

[iOS 개발] 간단한 animation 처리

하구루 2017. 2. 25. 16:20

iOS를 통한 개발에 animation은 꽤나 중요한 부분이다.

 
iOS 특성상 부드러운 animation이 앱을 좀더 고급스럽게 만들어 주는데
iOS를 이를 위해 아주 간단하게 animation을 쉽게 구현할수 있도록 해 놓았다.
animation 전과 후의 View의 상태만 정해주면 그이외의 작업들은 모두 알아서 해준다.
예제 코드를 보면서 설명을 해 보겠다.
      CGRect rect = targetView.frame;
rect.origin.x = 300;
targetView.frame = rect;
        
[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.3];
[UIView setAnimationRepeatCount:1];

rect = targetView.frame;
rect.origin.x = 0;
targetView.frame = rect;
        
[UIView commitAnimations];

위 의 예제대로 수행을 하면 해당하는 targerView는 x좌표 300의 위치에서 x좌표 0의 위치로 자연스럽게 animation이 변화 하게 된다.

 CGRect에 대한 설명은 따로 하지 않겠다.
 animation을 시켜주는 부분이 중요하다.
 [UIView beginAnimations:nil context:nil]; 

해당 부분은에서 주목해야할 부분은 첫번째 파라 미터이다.

나중에 delegate를 통해서 animation이 시작하거나 끝나는 때에 여러 작업을 할때
각기 다른 animation들을 구분하는데 이용된다. 일종의 animation key이다.
       [UIView setAnimationDuration:0.3];
        [UIView setAnimationRepeatCount:1];

위의 첫번째 메소드는 animation이 진행되는 시작이다 이를 길게 하면 animation 이 느려지고 짧게 하면 animation이 빨라 진다.

두번쨰 라인의 메소드는 보이는 그대로 반복 횟수이다. 해당 animation이 몇번 반복될지 설정해 주는 것이다.
     [UIView commitAnimations];

마지막으로 animation을 마무리 지어 주도록 하는 메소드이다.


이를 해주지 않으면 이후의 모든 frame등의 변화가 animation되는 경의로운 현상을 보게 될것이다.

 재미 삼아 한번 확인해 보는것을 추천한다.

이를 이용해 view의 alpha 값으로 fade 효과도 이용할수 있으며

CGRect를 잘활용하여 위치나 크기 등을 animation으로 쉽게 이용 가능하다.


반응형