[swift] Swift Core Animation으로 뷰의 크기와 위치 변경하기

iOS 앱 개발 중에는 뷰의 크기와 위치를 동적으로 변경해야 할 때가 있습니다. 이를 위해 Swift의 Core Animation을 사용할 수 있습니다. Core Animation은 애니메이션 효과뿐만 아니라 뷰의 속성을 변경하는 데에도 사용할 수 있습니다. 이번 블로그 포스트에서는 Swift Core Animation을 사용하여 뷰의 크기와 위치를 변경하는 방법에 대해 알아보겠습니다.

뷰의 크기 변경하기

뷰의 크기를 변경하기 위해서는 bounds 속성을 사용해야 합니다. bounds는 뷰의 자체 크기를 나타내기 때문에, 이 값을 변경하면 뷰의 크기도 함께 변경됩니다.

let view = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
view.bounds = CGRect(x: 0, y: 0, width: 300, height: 300)

위의 예제에서는 200x200 크기의 뷰를 생성한 후 bounds 값을 300x300으로 변경합니다.

뷰의 위치 변경하기

뷰의 위치를 변경하기 위해서는 center 속성을 사용해야 합니다. center는 뷰의 중심 좌표를 나타내기 때문에, 이 값을 변경하면 뷰의 위치도 함께 변경됩니다.

let view = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
view.center = CGPoint(x: 100, y: 100)

위의 예제에서는 200x200 크기의 뷰를 생성한 후 center 값을 (100, 100)으로 변경합니다.

애니메이션 효과로 뷰의 크기와 위치 변경하기

Core Animation을 사용하면 뷰의 크기와 위치를 부드럽게 애니메이션 효과와 함께 변경할 수 있습니다. UIView.animate(withDuration:animations:) 메소드를 사용하여 애니메이션 효과를 적용할 수 있습니다.

let view = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
UIView.animate(withDuration: 0.5) {
    view.bounds = CGRect(x: 0, y: 0, width: 300, height: 300)
    view.center = CGPoint(x: 100, y: 100)
}

위의 예제에서는 0.5초 동안 애니메이션 효과를 적용하여 뷰의 크기를 300x300으로, 위치를 (100, 100)으로 변경합니다.

이렇게 Core Animation을 사용하여 뷰의 크기와 위치를 변경할 수 있습니다. Core Animation은 뷰를 부드럽게 움직이게 하고 다양한 애니메이션 효과를 적용할 수 있는 강력한 도구입니다.

참고자료