你好,我只是个初学者。
我创建了一个新的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.'
答案 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)
以下图表将帮助您理解
正如我从您的代码中看到的那样
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];