我正在尝试使用此操作按钮从UIViewController导航到UITableViewController。显然我做错了所以它错过了我的故事板中链接到UITableViewController的UINavigationController。或类似的东西。当我按下按钮时,此代码显示TableView,但导航栏丢失,因此无法返回,如果我在桌面视图中滑动,应用程序崩溃。
-(IBAction)nextButtonPressed:(id)sender{
ResultsTableViewController *nextController = [[self storyboard] instantiateViewControllerWithIdentifier:@"Results Controller"];
nextController.objectsArray = resultObjectsArray;
[self presentModalViewController:nextController animated:YES];
[nextController release];
}
我应该将UINavigationController与UIViewController而不是UITableViewController链接,这会有效吗?或者我应该针对UINavigationController定位上面的代码吗?怎么做这个简单的事情?感谢。
编辑1:
将导航控制器添加到UIViewController,然后像这样推送到TableView:
[self.navigationController presentModalViewController:nextController animated:YES]
没有解决问题。滑动时它仍然会崩溃。
编辑2:
如果我喜欢这样:
[self.navigationController pushViewController:nextController animated:YES]
一旦桌面视图在屏幕上可见,它就会崩溃。我现在可以通过“后退”按钮看一下导航栏。这是崩溃报告:
- [__ NSCFType isViewLoaded]:发送到实例的无法识别的选择器。 Rødvinsguiden[318:f803] * 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [__ NSCFType isViewLoaded]:无法识别的选择器发送到实例0x6b9d2e0'
答案 0 :(得分:1)
你忘了推入当前视图的navigationController,而不是只推动没有它的新viewController。
[self.navigationController presentModalViewController:nextController animated:YES]