아이폰 5이상 단말이 등장하면서 320, 480으로 통일되던 아이폰 크기에 변화가 생겼다.
따라서 기기의 가로, 세로를 구하는 편이 조건문 없이 개발하기 편해 자주 #define을 통해 선언한다.
자주는 쓰는데 쓸때마다 찾고 있어 여기 적는다.
#define DEVICE_HEIGHT ([[UIScreen mainScreen] bounds].size.height)
#define DEVICE_WIDTH ([[UIScreen mainScreen] bounds].size.width)
토막영어 : bounds는 한계, 한도
ios8에서는 현재 보이는 화면에 따라 width 값과 height 값이 바뀌기 때문에 ( 가로모드에서 height를 찍으면 device의 가로 값이 나온다)
두 값을 비교해서 큰 값을 height 작은값을 width로 쓰는 것이 낫다.
적어보자면
CGFloat device_height = (DEVICE_HEIGHT > DEVICE_WIDTH) ? DEVICE_HEIGHT : DEVICE_WIDTH;
CGFloat device_width = (DEVICE_HEIGHT < DEVICE_WIDTH) ? DEVICE_HEIGHT : DEVICE_WIDTH;
위와 같이 선언 한 뒤 device_height 값과 device_width 값을 쓰는 편이
화면 회전과 상관없이 항상 같은 값을 얻을 수 있다.
혹은
[UIScreen mainScreen].fixedCoordinateSpace.bounds로 사용하는 것도 괜찮다
'프로그래밍 > iOS' 카테고리의 다른 글
[ios] 구글맵 주소->위도,경도 / 위도경도->주소 (0) | 2015.04.09 |
---|---|
[ios] Delegate사용 법 (0) | 2015.04.08 |
[ios] UIImage를 jpg파일이나 raw파일로 저장하는 법 (0) | 2015.04.08 |
[ios] non-arc환경으로 작성된 코드 적용하기, 반대의 경우도 (0) | 2015.04.08 |
[ios] Orientation (0) | 2015.04.08 |