【问题标题】:Create two xibs, one for iPhone and one for iPad创建两个xib,一个用于iPhone,一个用于iPad
【发布时间】:2012-07-09 22:45:47
【问题描述】:

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

【问题讨论】:

  • 为 iPhone 制作一款,为 iPad 制作一款...

标签: iphone ios ipad interface-builder xib


【解决方案1】:

来自Apple Resource Programming Guide

注意:如果您正在为 iOS 开发通用应用程序,您可以使用特定于设备的命名约定为底层设备自动加载正确的 nib 文件。有关如何命名 nib 文件的详细信息,请参阅“iOS 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 文件。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 是的,但这并不能回答问题。
      猜你喜欢
      • 1970-01-01
      • 2017-03-28
      • 1970-01-01
      • 2014-05-07
      • 2012-11-09
      • 2015-10-25
      • 2022-12-24
      • 2015-04-05
      • 1970-01-01
      相关资源
      最近更新 更多