UIViewController 无法重定向
Posted
技术标签:
【中文标题】UIViewController 无法重定向【英文标题】:UIViewController Not able to redirect 【发布时间】:2014-03-11 13:38:15 【问题描述】:这是我的问题。我有一个嵌入 UINavigation 控制器的 UITableViewcontroller。对于 UITableviewController 我有添加屏幕和编辑屏幕。添加屏幕工作正常。当我单击表格视图单元格上的记录时,它能够重定向到编辑页面(详细视图)。当我点击提交按钮时,页面没有导航到 tableview 单元格。这是以下错误。
警告:尝试呈现不在窗口层次结构中的视图!
这是我尝试导航的代码。
UINavigationController *questionnaireNavController = [self.storyboard instantiateViewControllerWithIdentifier:@"DLProjectsTasksubtasks"];
[questionnaireNavController setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
DLProjectsTasksubtasks *qvc = (DLProjectsTasksubtasks *)[questionnaireNavController topViewController];
[qvc.tableView reloadData];
[self presentViewController:questionnaireNavController animated:YES completion:nil];
[self dismissViewControllerAnimated:YES completion:nil];
在我使用 Segue 将数据从 tableview 数据传输到编辑屏幕之间
【问题讨论】:
为什么你在展示后立即关闭viewController? 即使我删除了关闭代码也无法重定向 我不确定你想要达到什么目的?您无需等待present
完成即可立即展示和解雇。这肯定会给你一个错误。
Sami 我已经从中删除了解除代码,即使它无法重定向
再次查看您的故事板。可能没有任何用于问卷调查NavController 的顶视图控制器。
【参考方案1】:
我认为您的 segue 被推送到导航控制器上,而不是模态显示。所以你有两个选择,要么将故事板中的 segue 更改为模态并使用 dismissViewControllerAnimated:YES completion:
,要么保持原样并在导航控制器上使用 popViewControllerAnimated:
。
[self.navigationController popViewControllerAnimated:YES];
为了将数据传递到前一页,您可以传递前一个视图控制器的引用或通过您的navigationController.viewControllers
访问它。索引 n-2 将是您以前的视图控制器(n 是视图控制器的数量)。
【讨论】:
我试图将数据也传递到该页面萨米 到上一页? 是的,根据我试图在 tableview 中显示的 projectid 如果我将 segue 更改为模式,它会给我一些错误并使应用程序崩溃 当我将 segue 更改为 Modal 以下是以下错误应用程序试图以模态方式呈现活动控制器以上是关于UIViewController 无法重定向的主要内容,如果未能解决你的问题,请参考以下文章