본문 바로가기

iOS Dev/깨알 Tips

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


오늘의 Tip

1. 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 아울렛을 연결해 주시는 것도 잊지 마시구요~!

아울렛 연결 방법은 ( http://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 : http://fb.yagom.net

twitter : http://twitter.yagom.net ( @yagomsoft )

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

RSS Feed 받기   


↓↓↓저 열심히 썼는데 손가락 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓