我已经在xcode 4.5中开发了ipad和iPhone应用程序,并通过检查设备来完成:
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
{
//code for ipad.Adjusting sizes for all the controls
}
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPhone)
{
//code for iphone.Adjusting sizes for all the controls
}
但是当我在模拟器中检查Retina(4)for iphone5时,所有尺寸的控件都会改变,而且我为iphone提供的prevoius分辨率不匹配。
在这种情况下我该怎么做?
答案 0 :(得分:1)
This is the other optional way to find out for check iPhone5
#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
如果你想从底部显示组件..
#define GET_Y_AXIS_FROM_BOTTOM(a)(( double )([[ UIScreen mainScreen ] bounds ].size.height)-a)
CGRectMake(0,GET_Y_AXIS_FROM_BOTTOM(50),320,50)
答案 1 :(得分:0)
您必须创建两个xib文件(一个用于iPhone4和iPhone5),或者必须以编程方式创建所有控件,并将其置于循环中,如下所示。
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
//put your iphone 5 control here
} else {
//put your iphone 4 control here
}
答案 2 :(得分:0)
if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
{
//code
}
else
{
//code
}