2012-01-18 159 views
-1

Objective-C中有一種方法可以快速獲取設備屏幕的寬度和高度嗎?獲取設備屏幕的寬度/高度

我試着這樣做:

CGRect deviceDimension = [[UIScreen mainScreen] bounds]; 

然而,在iPad的風景模式下,它仍然給我768的寬度和1024的高度。任何其他想法?或者我必須使用宏?基本上我試圖找到一種方式來代替下面的宏:

#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-寬度編程方式 – 2012-01-18 21:22:36

+0

可能的重複[如何獲取方向相關的高度和寬度的屏幕?](http://stackoverflow.com/questions/7905432/how-to-get-orientation-dependent-height-and-width屏幕) – 2012-01-18 21:44:28

回答

2

再加上

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

從1024×768 768×1024分辨。

0

查看下面Richard J. Ross III的評論。

你可以做這樣的:

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

+0

或者只是使用'self.view.bounds.size' ... – 2012-01-18 21:30:47

+1

@ RichardJ.RossIII哦,是的。當然。忽略我的答案。 – simonbs 2012-01-18 21:37:57

+0

,只給我什麼當前視圖控制器的大小是... – adit 2012-01-18 23:01:36