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