创建两个xib,一个用于iPhone,另一个用于iPad

时间:2012-07-09 22:45:47

标签: iphone ios ipad interface-builder xib

我如何创建特定于设备的xib?我为iPhone制作了一个通用的,但我如何使用单独的 xib文件?

3 个答案:

答案 0 :(得分:3)

来自Apple Resource Programming Guide

  

注意:如果您正在为iOS开发Universal应用程序,则可以使用特定于设备的命名约定自动为基础设备加载正确的nib文件。有关如何命名nib文件的详细信息,请参阅“i OS Supports Device-Specific Resources。”

在“iOS支持设备专用资源”文档中,它说:

  

要将资源文件与特定设备相关联,请在其文件名中添加自定义修饰符字符串。包含此修饰符字符串会产生具有以下格式的文件名:

     

basename - device.filename_extension

     

该字符串表示资源文件的原始名称。它还表示从代码访问文件时使用的名称。同样,字符串是用于标识文件类型的标准文件扩展名。该字符串是区分大小写的字符串,可以是以下值之一:

     
      
  • ipad - 资源应仅在iPad设备上加载。
  •   
  • iphone - 资源只能加载到iPhone或iPod touch设备上。   您可以将设备修饰符应用于任何类型的资源文件。
  •   

因此,如果你想要单独的.xib文件,你可以包含名为“MyView-ipad.xib”的iPad xib和名为“MyView-iphone.xib”的iPhone xib。

在项目中包含这些文件后,当您调用它时:

UIViewController *someViewController = [[someViewController alloc] initWithNibName:@"MyView" bundle:nil];

根据运行应用程序的设备,将加载正确的xib文件。

希望这有帮助!

答案 1 :(得分:1)

这是创建新项目时的默认设置。举一个具体的例子,我会为iPhone和iPad创建一个空白项目并深入研究。

答案 2 :(得分:0)

如果您已将项目创建为iPhone项目,则需要将其更改为通用应用