SwiftUI) Screen Width, Height 구하기

L3C4Y4 velog·2024년 12월 26일
0

안녕하세요. 이번 포스팅에서는 SwiftUI에서 Screen의 전체 width, height를 구하는 방법에 대해 정리해보았습니다.

UIScreen.main.bounds

Screen의 width와 height를 구할 때는 보통 UIScreen.main.bounds를 많이 사용했었는데요.

UIScreen의 main은 더 이상 사용되지 않는다고 view.window.windowScene.screen을 사용하라고 권장하고 있습니다.

하지만 SwiftUI에서는 view.window 프로퍼티에 접근할 수 없기에 UIApplication을 사용하여 Screen 사이즈를 구할 수 있습니다.

UIApplication을 통해 windowScene 접근하기

extension View {
    func getScreenWidth() -> CGFloat {
        guard let windowScene =
                UIApplication.shared.connectedScenes.first as? UIWindowScene else {
            return 0
        }

        return windowScene.screen.bounds.width
    }
    
    func getScreenHeight() -> CGFloat {
        guard let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene else {
            return 0
        }
        
        return windowScene.screen.bounds.height
    }
}

전체 소스코드

profile
iOS 관련 정보들을 정리해두었습니다.

0개의 댓글