Computer >> 컴퓨터 >  >> 프로그래밍 >> iOS

Swift로 iPhone 5 화면 크기 감지하기 – UIScreen 활용법

애플 기기의 화면 크기를 감지하는 것은 생각보다 간단한 작업입니다. iOS SDK의 UIKit 모듈은 사용자 인터페이스, 화면 크기 등 다양한 UI 요소를 다룰 수 있는 클래스와 함수들을 제공합니다.

그중에서도 UIScreen 클래스는 기기의 화면 정보를 담당하는 핵심 요소입니다. UIScreen.main을 사용하면 현재 사용 중인 기기의 메인 스크린에 접근할 수 있으며, 이를 통해 화면 크기와 여러 속성 값을 얻어올 수 있습니다.

iPhone 5 화면 판별 원리

현재 화면이 iPhone 5인지 확인하려면 먼저 현재 화면의 크기를 구한 뒤, iPhone 5의 화면 높이인 568 포인트와 비교하면 됩니다.

1단계 – 현재 화면의 높이 구하기

let height = UIScreen.main.bounds.height

2단계 – 화면 높이 비교하기

if height == 568 {
    print("이 화면은 iPhone 5 화면입니다")
} else {
    print("다른 기기의 화면입니다 - 크기는 \(height)입니다")
}

함수로 만들어 재사용하기

위 코드는 다양한 화면 크기를 비교하는 로직으로 확장할 수 있으며, 함수 형태로 변환하면 더욱 편리하게 재사용할 수 있습니다.

func checkIphone() -> Bool {
    if height == 568 {
        return true
    } else {
        return false
    }
}

아래 이미지는 위 코드를 iPhone 7 Plus 시뮬레이터에서 실행했을 때의 결과입니다. iPhone 7 Plus의 화면 높이는 568이 아니기 때문에 else 문이 실행되는 것을 확인할 수 있습니다.

Swift로 iPhone 5 화면 크기 감지하기 – UIScreen 활용법

참고 사항

iOS 13 이후에는 UIScreen.main 대신 연결된 윈도우 씬(scene)에서 화면 정보를 가져오는 방식이 권장됩니다. 또한 실제 앱 개발에서는 특정 기기를 하드코딩으로 판별하기보다 Auto Layout과 Size Class를 활용해 다양한 화면 크기에 대응하는 것이 더 좋은 접근 방식입니다.