11

在开发的过程中universal apps,我们必须conditional code为每个编写一个device-iPad以及iPhone. 在这种情况下,正确使用tilde可能是非常有益的。

例如,如果要推送新的视图控制器,则必须编写很多行(几乎 10 行)代码:

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{
  MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@”MasterViewController_iphone” bundle:nil];
 [self.navigationController pushViewController:masterViewController animated:YES];
 [masterViewController release];
}
else
{
  MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@”MasterViewController_ipad” bundle:nil];
  [self.navigationController pushViewController:masterViewController animated:YES];
  [masterViewController release];
}

我们如何区分iphone和ipad的图像?

4

1 回答 1

42

用于区分 iPhone 和 iPad 的 XIB 文件

魔法~会帮助你。您可以使用它来区分 iPhone 和 iPad 资产/xib文件。

您的文件应以~iphone.xib or结尾~ipad.xib

注意:区分大小写,请勿使用iPador iPhone

检查每个xib文件是否连接了所有出口并设置了正确的文件所有者。如果缺少某些文件,iOS 可能会决定不使用它们,而是使用 iPhone 文件。

用于区分 iphone 和 ipad 的图像

特定于平台的修饰符 - 使用修饰符 ~iphone 或 ~ipad 指定针对特定设备尺寸的图像。

官方文档InfoPlistKeyReference

于 2012-12-06T11:45:16.747 回答