iOS 코딩 TIP - iPhone X 판독법
iOS 코딩팁 - iPhone X 판독법
새로운 네비게이션 헤더와 상태표시줄이 적용된
iPhone X에 알맞는
UI 적용을 위해
실행되는 기기가 iPhone X 인지
구분할 필요가 있는 경우가 발생한다.
iOS에서 제공하는 직접적으로 기기를 구분할 수 있는 메소드를 사용할 경우
안타깝게도 시물레이터 상에서는 구분 할 수가 없어
디버그 모드에서 사용이 힘들다.
다른 몇가지 상황을 구분해
iPhone X 여부를
확인할 수 있는 방법을 알아보자.
1. 스크린 해상도 확인
1125px x 2436px 의 해상도를
유일하게 가지고 있는 iPhone X의
특징을 활용하는 방법이다.
if (UIDevice().userInterfaceIdiom == .phone) &&
(UIScreen.main.nativeBounds.height == 2436) {
print("It is iPhone X")
}
2. 스크린 헤더 Notch바 유무 확인
현재 출시된 아이폰 중
유일하게 iPhone X 만이
헤더 윗부분에 notch를 가지고 있는
상황이므로 이를 체크하는 방법이 있다.
if #available(iOS 11.0, *) {
if ((UIApplication.shared.keyWindow?.safeAreaInsets.top)! > CGFloat(0.0)) {
print("It is iPhone X")
}
}
다른 M자 탈모형 아이폰 기기가
나오기 전까지는 위에 두가지 방법으로
iPhone X을 구분할 수 있는다.
이 둘중 사용하기 편한 코드를 활용해
코드 안에서 iPhone X를 구분하면 되겠다.
- The Dget -