我知道您可以使用带有 UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad
的 if 语句来选择 ipad 或 iphone。但我想知道你是否可以对 iPhone 3.5 英寸屏幕到 iPhone 4 英寸屏幕做同样的事情。我有一个最初为 iPhone 4 英寸屏幕设计的游戏,但已使用自动布局来修复两个设备之间的错误,我需要更改的一件事是当
if (ball.center.y > 600) {
RandomPosition = arc4random() %248;
RandomPosition = RandomPosition + 36;
ball.center = CGPointMake(RandomPosition, -22);
}
因为最初是在4寸屏上设计的,所以游戏设置了>600像素时将小球重置到屏幕上方,刚好在iphone 4寸屏下方。它仍然可以正常工作,只是3.5英寸屏幕底部和位置重置之间有一点延迟。无论如何我可以用 UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom(iphone4???)
设置一个 if 语句来设置一个新的 ball.center.y > 300 什么的?
最佳答案
您可以尝试以下代码。 在 Constant.h 中添加这段代码
#define IS_IPAD (( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ) ? YES : NO)
#define IS_IPHONE_5 (([UIScreen mainScreen].scale == 2.f && [UIScreen mainScreen].bounds.size.height == 568)?YES:NO)
#define IS_RETINA_DISPLAY_DEVICE (([UIScreen mainScreen].scale == 2.f)?YES:NO)
现在要检查设备大小,请在您的 View 中添加以下代码
if (IS_IPAD)
{
//do stuff for iPad
}
else
{
if(IS_IPHONE_5)
{
//do stuff for 4 inch iPhone screen
}
else
{
//do stuff for 3.5 inch iPhone screen
}
}
关于ios - iPhone 3.5 英寸屏幕 - 4 英寸屏幕 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22060543/