我在iOS中使用cocos2d
。
我在检测iphone5 resolution(1136*640)
时遇到问题。
我正在使用代码:
CGRect screenBounds = [[UIScreen mainScreen] bounds];
当我们在iPhone模拟器(4英寸)上运行app时,它分别给出screenWidth和screnHeight-320,480
。
有人可以告诉我解决方案吗?
答案 0 :(得分:1)
将此代码写入.m文件。
#define WIDESCREEN ( fabs( ( double )[ [UIScreen mainScreen ]bounds ].size.height-( double )568 ) < DBL_EPSILON )
现在你可以知道这样的屏幕尺寸了。
if(WIDESCREEN)
{
NSLog(@"iPhone5 is here");
}
else
{
NSLog(@"iPhone4 is here");
}
答案 1 :(得分:0)
您可以在iPhone 4英寸屏幕和3.5英寸屏幕的代码中添加支票
CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height == 480)
{
// iPhone Classic
// set your frames for classic iPhone here
}
if(result.height == 568)
{
// iPhone 5, iPhone 5S, iPhone 5C
// set your frames for 4 inch iPhone here
}
答案 2 :(得分:-1)
iPhone 5分辨率仅为1136 * 640。如果你想检查下面的代码
它将准确给出的分辨率(1136 * 640)
CGRect screenBounds = [[UIScreen mainScreen] bounds];
CGFloat screenScale = [[UIScreen mainScreen] scale];
CGSize screenSize = CGSizeMake(screenBounds.size.width * screenScale, screenBounds.size.height * screenScale);
NSLog(@"Screen SIze %@",NSStringFromCGSize (screenSize));
#define IS_IPHONE5 ([[UIScreen mainScreen] bounds].size.width >= 568 || [[UIScreen mainScreen] bounds].size.height >= 568)?YES:NO
#define IS_IPHONE4 ([[UIScreen mainScreen] bounds].size.width >= 480 || [[UIScreen mainScreen] bounds].size.height >= 480)?YES:NO
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
if(IS_IPHONE4)
{
// iPhone 4
}
if(IS_IPHONE5)
{
// iPhone 5
}
}