THIS IS ELLIE

iOS UIView animate 사용하기 본문

개발/iOS

iOS UIView animate 사용하기

Ellie Kim 2019. 1. 12. 19:10

UIView는 애니메이트 되는 프로퍼티를 정의해놨습니다.

  • frame

  • bounds

  • center

  • transform

  • alpha

  • backgroundColor


익숙한 이 프로퍼티들을 애니메이트 가능하게 하려면 애니메이션 클로저에서 value 값을 변경해주면 됩니다.




뷰를 생성해줍니다. 

default가 흰색이니 잘 보이게 black으로 설정하고 view에 내가 만든 myView를 넣어줍니다. 


#1



먼저 withDuration과 animations이 있는 메서드를 사용해보겠습니다.


클로저가 축약 가능하니 #1 과 #2가 같은 동작을 합니다. 

(저는 편하게 축약형으로 #2로만 작성하겠습니다. 편하신 방법으로 사용하시면 될 것 같습니다.) 






검은색 뷰가 2초 동안 흰색으로 바뀝니다.


정의된 프로퍼티 중에 원하는 프로퍼티의 값을 변경해주어 애니메이션 효과를 낼 수 있습니다.


#2



A를 실행시키고 B를 실행시켜주고 싶다면 위와 같은 방법을 사용할 수 있습니다.


먼저 myVIew의 배경색을 회색으로 줍니다. 2초 동안 검은색에서 회색으로 변경된 후, 


completion의 클로저가 실행됩니다. 


2초 동안 myView의 프레임을 x100 y100 width height 200으로 변경해줍니다. 



동시에 실행되면서 변경되는 것이 아니라 A 회색으로 변경한다. -> B 프레임을 변경한다. 


순차적으로 실행됩니다.


#3



옵션도 추가할 수 있습니다. 


2초 동안 2초의 딜레이를 두고 회색으로 변경해줍니다. 옵션을 .repeat으로 해 반복해줍니다. 


여러 가지 옵션이 있지만 그중에서 repeat이라는 옵션을 사용해 반복해주도록 하겠습니다.



(AnimationOptions을 찾아보시면 더 많은 옵션들을 찾아볼 수 있습니다.)




처음에 검은색이었던 배경이 회색으로 변경되고 이것이 반복되는 모습을 볼 수 있습니다. 


바로 반복되는 게 싫으면 Duration 을 변경해주시면 됩니다. 

반응형