我有两个xib,一个用于iPhone 4,一个用于iPhone 5; 3.5英寸和4英寸。我只是想放一些代码来告诉应用程序要加载哪个。我有这个代码应该做的工作:
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone))
{
CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height == 480)
{
//Load 3.5 inch xib
}
if(result.height == 568)
{
//Load 4 inch xib
}
我把它放在ViewController.M中(是我把它放在哪里?)并且构建失败,说有一个解析问题,期望标识符为“(” 有人可以帮我解决这个简单的问题吗?谢谢!
答案 0 :(得分:19)
在你的prefix.pch文件中添加以下行...这是检查屏幕大小的最简单方法,无需额外添加代码行......
#define IsIphone5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
现在,无论您想检查屏幕大小,只需创建如下条件,您就可以随心所欲地做任何事情....
if(IsIphone5)
{
//your stuff
}
else
{
//your stuff
}
快乐编码!!!!
答案 1 :(得分:4)
把这个条件
if ((int)[[UIScreen mainScreen] bounds].size.height == 568)
{
// This is iPhone 5 screen
} else {
// This is iPhone 4/4s screen
}
答案 2 :(得分:2)
从此行删除额外的“)”
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone))
答案 3 :(得分:2)
请尝试删除最后一个括号
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height == 480)
{
//Load 3.5 inch xib
}
else if(result.height == 568)
{
//Load 4 inch xib
}
}