我有下面的代码,将调用模态视图。呈现视图控制器,当我工作正常,但是当我关闭它,它崩溃iOS:dismissViewControllerAnimated执行后崩溃
_surveySummaryTableViewController = [[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped];
[_surveySummaryTableViewController setTableView:_surveySummaryTableView];
UIBarButtonItem *doneItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(closeModalView:)];
[[_surveySummaryTableViewController navigationItem] setRightBarButtonItem:doneItem];
[[_surveySummaryTableViewController navigationItem] setTitle:@"Response Summary"];
navController = [[UINavigationController alloc]initWithRootViewController:_surveySummaryTableViewController];
[navController setModalPresentationStyle:UIModalPresentationFormSheet];
[navController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
....
[self presentViewController:navController animated:YES completion:nil];
点击的模式视图完成按钮将调用下面的closeModalView:
方法:
- (void)closeModalView:(id)sender
{
[self dismissViewControllerAnimated:YES completion:nil];
}
怪异的一部分是,当我将下面的行注释掉时,解雇行为很好。但是原因是,没有任何TableView
,视图将是空的。我可能错过了什么?我尝试了别人发布的其他建议,但没有运气。提前致谢。
_surveySummaryTableViewController = [[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped];
//[_surveySummaryTableViewController setTableView:_surveySummaryTableView]; //This line commented out
UIBarButtonItem *doneItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(closeModalView:)];
[[_surveySummaryTableViewController navigationItem] setRightBarButtonItem:doneItem];
[[_surveySummaryTableViewController navigationItem] setTitle:@"Response Summary"];
===其他信息===
考虑它的工作原理,当上述被评论线,表实际上填充自定义UITableViewCell
。这可能是一个问题吗?
您需要从崩溃中发布完整的错误消息。 – rmaddy
你在'UIViewController'中提出了一个'UINavigationController'?你可以,但这不是一个正常的做法。如果我是你,我将使用'UINavigationController'作为父项,然后在更改页面时推送'UIViewController'。 – Raptor
@ShivanRaptor从vie控制器中呈现模态导航控制器没有任何问题。 – rmaddy