目前,我需要将 iOS 应用程序从 iOS 4.0(3.5 英寸显示屏)转换为 iOS 6.0(4 英寸显示屏)。
请建议我如何使 iOS 旧版本(5.0 及更早版本)应用程序与 ios6 和 iPhone5 兼容的最简单方法。
帮助我了解如何为 4 英寸 XIB 设置 3.5 英寸 XIB 的 UI 对象的框架。
如果有人有与此主题相关的好教程或文章,请提供链接。
您应该使用以下代码来检测 ios6 和 iphone 5,并在区分后根据需要执行必要的更改。
符合系统定义中指定的版本
//#define __IPHONE_2_0 20000
//#define __IPHONE_2_1 20100
//#define __IPHONE_2_2 20200
//#define __IPHONE_3_0 30000
//#define __IPHONE_3_1 30100
//#define __IPHONE_3_2 30200
//#define __IPHONE_4_0 40000
//#define __IPHONE_6_0 60000 你可以这样写函数(你应该把这个版本存储在某个地方,而不是每次都计算它):
+ (NSInteger) getSystemVersionAsAnInteger{
int index = 0;
NSInteger version = 0;
NSArray* digits = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
NSEnumerator* enumer = [digits objectEnumerator];
NSString* number;
while (number = [enumer nextObject]) {
if (index>2) {
break;
}
NSInteger multipler = powf(100, 2-index);
version += [number intValue]*multipler;
index++;
}
return version;
}
然后您可以按如下方式使用它:
if([Toolbox getSystemVersionAsAnInteger] >= __IPHONE_6_0)
{
//blocks
} else
{
//oldstyle
}
确定操作系统版本后,使用以下步骤进行转换。
例子:
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
// code for 4-inch screen
}else{
// code for 3.5-inch screen
}
谢谢。