ios - ViewController_iPad.xib 与 ViewController~ipad.xib

标签 ios xcode naming-conventions xib

我正在编写一个教程,一些有趣的东西引起了我的注意。我刚刚创建了一个单 View 应用程序项目,我注意到两个 .xib 文件,一个名为 ViewController_iPhone.xib,一个名为 ViewController_iPad.xib。在我的项目中,如果我想为 iPhone 和 iPad 使用不同的 .xib,我会为 iPhone 使用 ViewController.xib,为 iPad 使用 ViewController~ipad.xib。我有点理解这可能是一个新的命名约定,但是如果我的目标是旧的 iOS 版本,我可以使用这个命名约定事件吗? 这也发生在 xCode 4.6 中

谢谢。

最佳答案

我想你可能在 iOS 上遇到过通用应用程序,或者可能会根据设备加载 .xib 文件。无论哪种方式,你都应该使用 ~ipad 而不是 ~iPad~iphone 而不是 ~iPhone 让它正常工作。

两者在模拟器上的工作方式相似,但之前的将在设备上放弃。

请从 Apple 引用中找到 iOS Supports Device-Specific Resources 的摘录

iOS 支持设备特定的资源

在 iOS 4.0 及更高版本中,可以将单个资源文件标记为仅在特定类型的设备上可用。此功能简化了您必须为通用应用程序编写的代码。您可以让捆绑加载例程选择正确的文件,而不是创建单独的代码路径来加载 iPhone 的一个资源文件版本和 iPad 的不同版本的文件。您所要做的就是适本地命名您的资源文件。

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

.

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

~ipad - The resource should be loaded on iPad devices only.

~iphone - The resource should be loaded on iPhone or iPod touch devices only.

关于ios - ViewController_iPad.xib 与 ViewController~ipad.xib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15477061/

相关文章:

ios - 照片库共享未显示我的应用程序 ios

ios - 你如何在 block 之间访问 NSManagedObject?

xcode - 在 xcode 中共享调色板

xcode - 从 Storyboard 中的选项卡栏中呈现ModalViewController

oop - 有什么比经理、处理器等更好的名字?

java - 命名查询 : Best practices

javascript - 在 iOS 中禁用缩放(网页)

iOS 蓝牙 scanForPeripheralsWithServices 没有结果

naming-conventions - 由具有 bool 值的 id 索引的数组的最佳名称

ios - UITableView 滚动在 iOS 模拟器中不稳定