2012-10-18 104 views
-3

嗨,我有我的应用程序内置IOS版本5.1,但现在我想支持它IOS6因为我所有的视图在iPhone模拟器的视网膜4英寸已上移。你能帮助解决这个问题的最简单方法吗?因为我在屏幕上有很多视图提供支持ios6

回答

0

好的,你应该做的是创建另一个XIB,并将其附加上“_iPhone5”。就像这样:

ViewController1_iPhone5

在这种XIB设置文件所有者的视图控制器,然后重新布局所有的UI元素根据自己的喜好,设置网点。现在,无论何时出现此视图控制器,您都需要检查设备是否为iPhone 5,并相应地调整笔尖名称:

在前缀文件中定义此项(将文件导入到您的每一个创建的文件,所以如果你导入一个类,所有的文件都会导入)。您可以在您的视图控制器定义它,如果你不想在你的前缀文件(应该在你的支持文件中找到):

#define IS_IPHONE_5 (fabs ((double)[[UIScreen mainScreen] bounds].size.height - (double)568) < DBL_EPSILON) 

然后你可以使用这个:

if (IS_IPHONE_5 && [[UIDevice currentDevice] userInterfaceIdiom] != UIUserInterfaceIdiomPad) { 

    UIViewController *vc1 = [[MenuMileIndexViewController alloc] initWithNibName: @"ViewController_iPhone5" bundle: nil]; 

    // present the view controller 

} 

如果你不使用XIB,并以编程方式编码您的看法,使用此:

 if (IS_IPHONE_5 && [[UIDevice currentDevice] userInterfaceIdiom] != UIUserInterfaceIdiomPad) { 


// Reposition and resize your subviews 

} 

注:请确保您添加iPhone 5的默认图像

+0

我没有使用XIB有没有其他的替代 – IOSCODER

+0

你是什么意思你不使用笔尖 – MCKapur

+0

我手动创建硬编码值的视图有没有我的项目中的笔尖文件 – IOSCODER