Things take time

[SWIFT] 기기별 해상도(픽셀) 및 인치 구하기 본문

iOS (기능)

[SWIFT] 기기별 해상도(픽셀) 및 인치 구하기

겸손할 겸 2021. 4. 6. 15:40

[개요]

기본적으로 기기별의 사이즈를 구할때는 UIScreen.main.bounds로 구할 수 있으나, 레티나 디스플레이가 나오면서 각각의 기기에 따라 scale이란 변수가 추가되어, 실제 픽셀의 개수를 의미하는 해상도를 구할 수 있다.

 

또한, 덧붙여 현재 기기가 몇 인치인지 확인하는 방법또한 소개한다.

스택 오버플로에서 찾았는데, 링크를 따로 적어두지 못했다.

 

 

[코드]

        let screenBounds = UIScreen.main.bounds
        let screenScale = UIScreen.main.scale
        let screenSize = CGSize(width: screenBounds.size.width * screenScale, height: screenBounds.size.height * screenScale)
        let ppi = screenScale * (UIDevice.current.userInterfaceIdiom == .pad ? 132 : 163)
        let horizontal = screenSize.width / ppi
        let vertical = screenSize.height / ppi
        let diagonal = sqrt(pow(horizontal, 2) + pow(vertical, 2))

 

screenBounds : 화면크기(pt)

screenSize : 화면해상도

diagonal : 인치