이미지는 거의 모든 애플리케이션에서 활용됩니다. 특히 게임 앱에서는 이미지가 회전하는 모습을 자주 접하게 됩니다.
이번 포스트에서는 iOS 앱에서 UIImageView의 이미지를 원하는 각도만큼 회전시키는 방법을 단계별로 살펴보겠습니다.
프로젝트 설정하기
1단계: 프로젝트 생성
Xcode를 실행하고 Single View Application 템플릿으로 새 프로젝트를 생성한 뒤, 프로젝트 이름을 RotateImage로 지정합니다.
2단계: 스토리보드 구성
Main.storyboard를 열고 UIImageView를 추가합니다. 그다음 아래와 같이 버튼 두 개를 배치하고 각각 "90도 회전", "45도 회전"으로 이름을 지정합니다. 마지막으로 UIImageView에 표시할 샘플 이미지를 추가합니다.

코드 작성하기
3단계: 버튼 액션 연결
두 버튼 각각에 대한 @IBAction을 생성하고, rotate45button과 rotate90button으로 이름을 지정합니다.
@IBAction func rotate90button(_ sender: Any) {
}
@IBAction func rotate45button(_ sender: Any) {
}4단계: 이미지 뷰 아울렛 연결
UIImageView에 대한 @IBOutlet을 생성하고 imageView로 이름을 지정합니다.
@IBOutlet var imageView: UIImageView!
5단계: 회전 코드 추가
이제 각 회전 메서드 안에 아래 코드를 추가합니다.
imageView.transform = imageView.transform.rotated(by: CGFloat(Double.pi / "회전시킬 값"))
완성된 코드는 다음과 같습니다.
@IBAction func rotate90button(_ sender: Any) {
imageView.transform = imageView.transform.rotated(by: CGFloat(Double.pi / 2)) // 90도
}
@IBAction func rotate45button(_ sender: Any) {
imageView.transform = imageView.transform.rotated(by: CGFloat(Double.pi / 4)) // 45도
}실행 결과 확인
앱을 빌드하고 실행하면 버튼을 누를 때마다 이미지가 지정된 각도만큼 회전하는 것을 확인할 수 있습니다.
핵심 원리는 간단합니다. 라디안 단위의 회전 값을 계산하기 위해 파이(π)를 활용하는데, π/2는 90도, π/4는 45도에 해당합니다. 따라서 원하는 각도에 맞춰 π를 적절한 숫자로 나누면 어떤 각도로든 이미지를 회전시킬 수 있습니다.