-3

嗨,我的应用程序是为 IOS 5.1 版构建的,但现在我想为 IOS6 支持它,因为我对视网膜 4 英寸 iPhone 模拟器的所有看法都已向上移动。你能帮助解决这个问题的最简单方法是什么。因为我的屏幕上有很多视图

4

1 回答 1

0

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

ViewController1_iPhone5

在那个 xib 中,将 Files Owner 设置为视图控制器,然后根据自己的喜好重新布局所有 UI 元素并设置插座。现在,每当您展示此视图控制器时,您都想检查设备是否是 iPhone 5,并相应地调整 nib 名称:

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

#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 默认图像

于 2012-10-18T08:07:02.750 回答