0

我一直在研究IOS应用程序。在我有一个项目,其中所有源代码都在该设置中正确加载应用程序之前,现在我已将其拆分为多个项目。之后我现在面临一个问题......在 ViewDidLoad 中,按钮的 IBOutlet 都是零值,视图也加载黑色。我无法猜测是什么问题。关于可能导致这种情况的任何想法......

我已经像这样加载了我的视图......

 main =[[main_page_controller alloc] init];

    if (main != NULL) 
        [root.navigationController pushViewController:main animated:YES];

我不确定我需要在此处发布代码的哪一部分,以使问题更易于理解...请分享您的建议..

编辑:我运行了我的旧项目,然后尝试成功启动我的新设置应用程序。我从设备中删除了应用程序,并仅使用新设置加载,问题再次出现。那么旧设置中有什么?我在新中缺少什么... ????

4

2 回答 2

1

参考文档

要使用 nib 初始化视图控制器对象,请使用 initWithNibName:bundle: 方法指定视图控制器使用的 nib 文件。然后,当视图控制器需要加载其视图时,它会使用存储在 nib 文件中的信息自动创建和配置视图。

初始化视图控制器时,并且您使用 .xib 文件作为视图,您需要调用initWithNibName:bundle:. 这意味着它将使用 xib 文件在loadView. 目前,您只是在使用init,这将创建一个空白UIViewController对象。

因此,在这种情况下,您的代码将是(假设 .xib 在主包中称为“MainViewControllerView.xib”):

main =[[main_page_controller alloc] initWithNibName:@"MainViewControllerView" bundle:nil];
if (main) {
    [root.navigationController pushViewController:main animated:YES];
}

还要理智地检查你的 .xib 文件,看看是否所有的IBOutlets 都连接到你想要的。

于 2012-12-11T10:54:08.487 回答
1

首先检查 xib(nib) 文件中的所有连接,如果它已经连接,则只需断开它们,清理项目(cmd+k),然后再次连接连接。

查看此图像以进行连接

在此处输入图像描述

于 2012-12-11T10:52:28.377 回答