안녕하세요. 이번 포스팅에서는 SwiftUI에서 Screen의 전체 width, height를 구하는 방법에 대해 정리해보았습니다.
Screen의 width와 height를 구할 때는 보통 UIScreen.main.bounds를 많이 사용했었는데요.
UIScreen의 main은 더 이상 사용되지 않는다고 view.window.windowScene.screen을 사용하라고 권장하고 있습니다.
하지만 SwiftUI에서는 view.window 프로퍼티에 접근할 수 없기에 UIApplication을 사용하여 Screen 사이즈를 구할 수 있습니다.
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
}
}