加载xib文件

时间:2013-02-13 06:20:58

标签: iphone ios uiview uiviewcontroller xib

你好,我只是个初学者。

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

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

enter image description here

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 个答案:

答案 0 :(得分:1)

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

然后将类“controller”赋予“UserFeedback”.xib文件。

并使用“UserFeedback”.xib文件绑定视图对象。

试试这个并告诉我。

几乎你会获得成功。

干杯!

答案 1 :(得分:0)

以下是您可以使用的技术:

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

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

答案 2 :(得分:0)

以下图表将帮助您理解

enter image description here

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

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

答案 3 :(得分:0)

似乎在故事板中正确设置了插座,但在代码中访问它时,您可能需要修改一些代码。

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