0

我在 xib 中创建的视图控制器(UISegmentController.h、UISegmentController.m、UISegmentController.xib)中有一个段控件。现在我正在尝试继续(理想情况下推送)到我创建的 Storyboard 视图控制器(ChartviewController.h,ChartviewController.m)。这个 Viewcontroller 将保存图像。我尝试按如下方式执行此推送:

-(IBAction) segmentedControlIndexChanged;
{

//some code
ChartViewController *chartviewpage = [[ChartViewController alloc] initWithNibName:@"ChartViewController" bundle:nil];
[self.navigationController pushViewController:chartviewpage animated:YES];
//some code
}

我曾经将此代码实现到另一个 xib 视图控制器,它工作正常。但现在不使用故事板视图控制器。但是,我收到如下异常:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle (loaded)' with name 'ChartViewController'' * First throw call stack: (0x15e6012 0x11b3e7e 0x15e5deb 0x53ffac 0x404e37 0x405418 0x405648 0x405882 0x405b2a 0x41cef5 0x41cfdb 0x41d286 0x41d381 0x41deab 0x41e4a3 0x41e098 0x4048 0x11c7705 0x327920 0x3278b8 0x3e8671 0x3e8bcf 0x3e86a6 0x43d597 0x43f83b 0x35716d 0x357552 0x3353aa 0x326cf8 0x22d1df9 0x22d1ad0 0x155bbf5 0x155b962 0x158cbb6 0x158bf44 0x158be1b 0x22d07e3 0x22d0668 0x32465c 0x1d0d 0x1c35) libc++abi.dylib: terminate called throwing an exception (lldb)

你能帮忙吗?

非常感谢!

4

1 回答 1

0

我终于想通了,做更多的研究。首先,需要在他们试图转换到的情节提要中实例化控制器(ChartViewcontroller)。然后你需要给控制器一个故事板ID名称(ChartID),在选择控制器后可以在文件检查器下找到它。最后执行推送到新控制器。

希望这可以帮助某人。

UIStoryboard * myStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; ChartViewController *chartpage = [myStoryboard instantiateViewControllerWithIdentifier:@"ChartID"];

// 将选中的对象传递给新的视图控制器。[self.navigationController pushViewController:chartpage Animation:YES];

于 2013-01-19T22:08:22.210 回答