[swift] 앱의 화면 회전 이벤트 처리하기

문제

앱을 개발할 때, 앱의 화면이 회전할 때마다 적절한 동작을 처리하고 싶습니다. Swift에서는 어떻게 화면 회전 이벤트를 처리할 수 있을까요?

해결방법

Swift에서 앱의 화면 회전 이벤트를 처리하기 위해서는 UIViewController의 메소드를 사용해야 합니다.

먼저 UIViewController를 서브클래싱하여 새로운 클래스를 만들고, 해당 클래스에서 다음과 같은 메소드를 오버라이드합니다.

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    // 지원할 화면 회전 방향을 설정합니다.
    return .all
}

override var shouldAutorotate: Bool {
    // 화면 회전을 허용할 것인지 결정합니다.
    return true
}

supportedInterfaceOrientations 메소드에서는 앱이 지원하는 화면 회전 방향을 설정할 수 있습니다. .all로 설정하면 가로와 세로 방향 모두를 지원합니다. 원하는 화면 회전 방향에 맞게 설정하세요.

shouldAutorotate 메소드에서는 화면 회전을 허용할 것인지를 결정할 수 있습니다. true로 설정하면 화면 회전이 허용되고, false로 설정하면 고정된 방향으로 화면이 고정됩니다.

추가 정보


이처럼 Swift에서 앱의 화면 회전 이벤트를 처리할 수 있습니다. 원하는 화면 회전 방향과 허용 여부를 설정하여 앱을 더 유연하게 만들 수 있습니다.