如何将应用程序从ios5转换为ios6(3.5'显示器到4'显示器)



当前,我需要将iOS应用程序从iOS 4.0(3.5英寸显示屏)转换为iOS 6.0(4英寸显示屏)。

  1. 请向我推荐如何使iOS旧版本verion(5.0及更旧版本)应用程序与ios6和iPhone5兼容的最简单方法。

  2. 帮助我如何为4英寸XIB设置3.5英寸XIB的UI对象框架。

  3. 如果有人有一个很好的教程或文章相关的这个主题,请提供我的链接。

您应该使用以下代码来检测ios6和iphone5,并在区分之后根据需要执行必要的更改。

为了符合系统定义中指定的版本

//#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

//#定义__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
}

在确定操作系统的版本后,使用以下步骤进行转换。

  1. 为您的应用程序设置一个4英寸的启动图像。这就是你获得1136px屏幕高度的方法(如果没有它,你将获得960 px,顶部和底部都有黑色边距)
  2. 测试你的应用程序,希望不要做任何其他事情,因为如果你正确设置了自动调整大小的掩码,一切都会神奇地工作
  3. 如果你没有,请使用适当的自动调整大小掩码调整视图布局,或者如果你只想支持iOS 6,请查看自动布局。
    1. 如果你必须为更大的屏幕做一些特定的事情,那么看起来你必须检查[[UIScreen mainScreen]边界](或applicationFrame,但如果存在,则需要考虑状态栏高度)的高度,因为似乎没有特定的api

示例:

CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
// code for 4-inch screen
}else{
// code for 3.5-inch screen
}

谢谢。

最新更新