iOS 上的 initWithNibName 很聪明:它会自动为 iPad 而不是 iPhone 加载不同的 NIB(尽管很多人不知道这一点 - 它没有记录在 UIViewController.initWithNibName 中!)。
但它还能做什么?我为此找到的唯一 Apple 文档解释说:
- 它将查找并查找名称末尾带有 ~ipad 或 ~iphone 的文件
- 苹果暗示它遵循自动图像文件名匹配的规则
但是没有指向图像匹配规则的链接,我也找不到任何明确的文档:(。
规则可能包括:“如果您将 @2x 放在文件名的末尾,您将获得不同的视网膜 NIB”(我不知道这是否有效)。
我真正要寻找的是使用了哪些规则的列表。如果我可以更多地使用它们的智能名称匹配(例如,如果它们有“加载横向笔尖与加载纵向笔尖”),它将节省大量的硬编码 - 在我编写的几乎每个应用程序中重复。