【问题标题】:Adding a XIB / NIB file to iOS after the fact事后将 XIB / NIB 文件添加到 iOS
【发布时间】:2012-01-23 16:38:34
【问题描述】:

所以最初我认为我不需要 XIB 文件并且可以使用 loadView 以编程方式生成我的视图,因此,当我为我的类建模时,我决定不创建 XIB 文件。

现在我改变了主意,决定在我已经创建的类中添加一个 xib 文件。所以我之前有一个 HomeViewController.m/h 文件。在 XCode 中,我进入 File--> New--> User Interface--> View,并创建了一个 HomeViewController.xib 文件。

在我的 App Delegate 中,我尝试这样做:

HomeViewController *home = [[HomeViewController alloc] init];
self.window.rootViewController = home;

我也试过这个:

HomeViewController *home = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
self.window.rootViewController = home;

在这两种情况下,我都会收到 SIGABRT 错误。如果我不将主 UIViewController 添加到 rootViewController,我不会收到任何错误,但屏幕上显然没有任何内容。

想法?

【问题讨论】:

    标签: ios load nib


    【解决方案1】:

    很可能您的 nib 对象引用了其他类..

    在您的 xib 文件中..在 身份检查器中..确保每个对象都有 HomeViewController 的类名。

    希望对你有帮助。

    【讨论】:

    • 这让我走上了正确的道路,所以我接受你的回答!对于遇到这种情况的人,在创建 XIB 后,单击 File's Owner,然后在 Identity Inspector 中,如图所示,确保自定义类引用您的类。然后单击连接检查器(带箭头的最右侧图标),并控制单击“视图”插座并将其拖到“对象”面板中的“视图”上。 (很奇怪,这没有完成)。
    【解决方案2】:

    尝试在 XIB 中创建 HomeViewController 并将其链接到 IB 中。您可以告诉它从 IB 中的另一个 XIB 加载视图,并在项目的属性中设置默认接口文件

    【讨论】:

      猜你喜欢
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 2017-01-08
      • 2012-09-24
      • 2011-11-19
      • 2012-04-23
      • 1970-01-01
      相关资源
      最近更新 更多