获取设备屏幕的宽度/高度

时间:2012-01-18 21:20:41

标签: iphone objective-c ios ipad

在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

2 个答案:

答案 0 :(得分:2)

将其与

结合使用
 if (UIDeviceOrientationIsLandscape( [[UIDevice currentDevice] orientation] )) { }

将768x1024与1024x768区分开来。

答案 1 :(得分:0)

请参阅下面的Richard J. Ross III的评论。

你可以这样做:

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