2012-01-18 3 views
-1

Objective-C에서 내가 속한 장치의 화면 너비와 높이를 빠르게 얻을 수있는 방법이 있습니까? 장치 화면의 너비/높이 얻기

나는 일을 시도 :

CGRect deviceDimension = [[UIScreen mainScreen] bounds]; 

을하지만 아이 패드 가로 모드에서 여전히 나에게 높이와 폭을 1024으로 768을 제공합니다. 다른 생각? 아니면 그냥 매크로를 사용해야합니까? 기본적으로 나는 다음과 같은 매크로를 대체 할 수있는 방법을 찾기 위해 노력하고 있어요 :

#ifdef IPHONE 

#define SCREEN_WIDTH_PORTRAIT 320 
#define SCREEN_WIDTH_LANDSCAPE 480 

#else 

#define SCREEN_WIDTH_PORTRAIT 768 
#define SCREEN_WIDTH_LANDSCAPE 1024 

#endif 
+0

참조 : http://stackoverflow.com/questions/3655104/iphone-ipad-how-to-get-screen- 너비 - 프로그래밍 방식으로 –

+0

[화면의 방향에 따른 높이와 너비를 얻는 방법]을 복제 할 수 있습니까? (http://stackoverflow.com/questions/7905432/how-to-get-orientation-dependent-height-and-width) -of-the-screen) –

답변

2

가 1024에서 768x1024의 구별

if (UIDeviceOrientationIsLandscape([[UIDevice currentDevice] orientation])) { } 

와 그 결합합니다.

0

아래의 Richard J. Ross III의 의견을 참조하십시오.

이처럼 할 수있는 :

- (CGSize)screenSizeWithRotation 
{ 
    return CGSizeMake(CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds)); 
} 

+0

아니면 그냥'self.view.bounds.size'를 사용하십시오 ... –

+1

@ RichardJ.RossIII 오, 그렇습니다. 당연하지. 내 대답을 무시하십시오. – simonbs

+0

는 현재보기 컨트롤러 크기가 무엇인지 알려줍니다. – adit