objective-c - 如何使用两个 xib 文件创建一个 Objective-C 类(一个用于 iPhone,另一个用于 iPad)

标签 objective-c xib

我在我的通用应用程序上创建了一个新屏幕,名为“ScreenSelectLevelViewController”,带有 .h、.m 和 .xib 文件。但我想创建 2 个单独的 xib 文件,一个用于 iPhone,另一个用于 iPad。因此,我复制了我的 ScreenSelectLevelViewController.xib 并将这两个文件重命名为这些新名称:

  • ScreenSelectLevelViewController_iPhone.xib;
  • ScreenSelectLevelViewController_iPad.xib;

在我的代码中,我打开了这样的新 View :

ScreenSelectLevelViewController *newScreen = [[ScreenSelectLevelViewController alloc] initWIthNibName:"@ScreenSelectLevelViewController" bundle:nil];
[self presentModalViewController:newScreen animated:true];

问题是:当我在 iPhone 模拟器上运行时,但是当我在 iPad 模拟器上运行时,应用程序仍然打开这个新屏幕的 iPhone 版本的 xib 文件。有人可以帮助我吗?

最佳答案

您可以简单地重命名文件,将下划线替换为波浪号:

ScreenSelectLevelViewController~iphone.xib
ScreenSelectLevelViewController~ipad.xib

然后您在帖子中编写的代码将自动为当前设备加载正确的文件。

这在 Resource Programming Guide 中的“iOS 支持设备特定资源”标题下进行了记录。 .

关于objective-c - 如何使用两个 xib 文件创建一个 Objective-C 类(一个用于 iPhone,另一个用于 iPad),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12123805/

相关文章:

iphone - 从完成的 ASIHTTPRequest 获取 postValue

php - 将 label.text 发送到 php 文件

objective-c - iOS : Trying to add Navigation Bar to Modal UITableViewController

ios - 如何让控件占据堆栈内的实际大小

ios - UIImageView/UIView 的自动布局纵横比

ios - 如何回收从 XIB 创建的 UITableViewCell 对象?

ios - 本地化 xib 时出现 Xcode 链接器错误

iphone - 对象-C : __block variables

ios - 一个项目中多个 UIImage+ImageEffects 文件

ios - iOS View 上的自定义 subview 有空 socket