4인치 디바이스 지원하기 (iPhone 5)

오늘의 Tip

  • 4인치 디바이스 적용하기

음... 일단 매우 늦은감이 넘치지만ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
요청이 있어 짬내어 포스팅합니다.
아이폰 5가 출시되면서 화면 비율의 파편화가 생겼죠...
Aㅏ........... 
여튼...ㅋㅋㅋ 아이폰 5에 적절히 대응하는 방법에 대해 알아보도록 합시다.

기본 준비

일단, 4인치 기기인지 구별할 수 있는 매크로를 구현해 봅시다.
프로젝트의 pch파일에 해당 매크로를 추가합니다.
이렇게 해 두면 프로젝트 어디에서라도 이 매크로를 사용할 수 있습니다.

그리고 한가지 팁을 더 추가하면
시뮬레이터에서 기기를 변경하는 방법입니다.
3.5인치, 4인치 번갈아가면서 하려면 기기를 선택할 줄 알아야 하죠.

nib(xib)을 사용하는 경우

여러가지 방법이 존재하지만, 제가 사용하고 있는 방법을 소개해 드릴게요.
카테고리를 이용합니다.
프로젝트에서 카테고리 파일을 하나 만들어 줍니다.


그리고 아래와 같이 소스를 작성해 줍니다.
소스 내용은 과니님 소스를 참고하였습니다. ( http://tiny2n.tistory.com/139 )

+ 덧소스 원작자 과니님께 미리 양해를 구하지 못해 죄송합니다. 
덧글로 말씀해주셔서 이제야 수정하고 사과드립니다.

참, 이 소스는 ARC 기준입니다 🙂

UIViewController_Is4Inch.h UIViewController_Is4Inch.m

기존 xib파일을 3.5인치 디바이스 크기로 변경해 주고,

4인치용 xib 파일을 만들어 줍니다.
우선 빈 xib 파일을 만들어 준 후 

xib의 클래스를 해당 클래스에 맞게 설정 해 주신 후에, 뷰를 하나 얹습니다. 크기는 4인치용으로!

참, 뷰 컨트롤러 xib니까 view 아울렛을 연결해 주시는 것도 잊지 마시구요!
아울렛 연결 방법은 ( https://blog.yagom.net/185 ) 참고! 

4인치 디바이스 실행 시,

3.5인치 디바이스 실행 시

스토리보드를 사용하는 경우

간단합니다.
일단 4인치용 스토리보드를 하나 더 만들어 줍니다.

그리고 기존 스토리보드의 크기는 3.5인치 크기로~

새로운 스토리보드에 4인치 화면과 label을 하나 얹어주시고~ 

AppDelegate의 application:didFinishLaunchingWithOptions 메서드에 아래와같이 작성해 줍니다.

끝!
4인치 디바이스 실행 시,

3.5인치 디바이스 실행 시,

4인치 전용 이미지 로딩이 필요한 경우

이 경우는 최건우님께서 작성해 두신 오픈소스를 사용하였습니다.

https://gist.github.com/Hardtack/4755404

UIImage+HTLong.h
UIImage+HTLong.m
두 파일을 프로젝트에 포함시켜 빌드하기만 하면 됩니다.
-568h 라는 suffix를 가지게 되면 4인치 디바이스일 경우 자동으로 해당 이미지를 로드합니다.
만약 -568h 접미어를 가진 파일이 없는 경우 기본 이미지를 로드하게 되구요.

이상입니다.

참고.
http://cafe.naver.com/mcbugi/236038

http://www.couplestyle.com/entry/%EC%9D%B4%EC%A0%84-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%95%84%EC%9D%B4%ED%8F%B05-%ED%95%B4%EC%83%81%EB%8F%84-%EB%8C%80%EC%9D%91
http://blog.naver.com/PostView.nhn?blogId=whiteday910&logNo=40186791084
http://tiny2n.tistory.com/139
http://survival.egloos.com/310015
http://blog.naver.com/PostView.nhn?blogId=syowoo&logNo=100172131674

by yagom
facebook : https://facebook.com/yagompage

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.
RSS Feed 받기   

댓글 남기기

Close