0

你好我只是一个初学者。

我创建了一个新的 xib 文件。现在我试图像下面的代码一样调用它,但它不起作用。

这是我在文件所有者中所做的:

在此处输入图像描述

UIViewController *controller;
controller = [[UIViewController alloc]initWithNibName:@"UserFeedback" bundle:nil];
[self.view addSubview:controller.view];

我得到的错误是:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "UserFeedback" nib but the view outlet was not set.'
4

4 回答 4

1

我希望,你已经创建了“controller.h”和“controller.m”UIViewController。

然后将类“控制器”放入“UserFeedback”.xib 文件中。

并将视图对象与“UserFeedback”.xib 文件绑定。

试试这个,让我知道。

几乎你会获得成功。

干杯!

于 2013-02-13T06:22:41.380 回答
0

这是您可以使用的技术:

UIViewController *控制器;控制器 = [[UIViewController alloc]initWithNibName:@"UserFeedback" bundle:nil]; [self.view addSubview:controller.view];

上面的代码是正确的,但首先你检查控制器视图是否绑定..我认为错误是说你没有绑定控制器视图

于 2013-02-13T06:25:29.483 回答
0

下图可以帮助你理解

在此处输入图像描述.

正如我现在从您的代码中看到的那样

 ATMoviePlayerController *controller;
 controller = [[ATMoviePlayerController alloc]initWithNibName:@"UserFeedback" bundle:nil];
 [self.view addSubview:controller.view];
于 2013-02-13T06:27:29.393 回答
0

似乎在情节提要中正确设置了插座,但是在代码中访问它时,您可能必须修改一些代码。

AFMoviePlayerController *controller = [[AFMoviePlayerController alloc]initWithNibName:@"UserFeedback" bundle:nil];
[self.view addSubview:controller.view];
于 2013-02-13T07:17:53.467 回答