我有一个 View Controller ,它包含一个 TableView ,它被包装在一个导航 Controller 中,即在应用程序委托(delegate)中,这两个被创建并设置为:
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.myViewController];
self.window.rootViewController = navController;
如果用户单击表格中的一行,则会创建另一个 View Controller 并将其推送到导航 Controller 的堆栈:
[self.navigationController pushViewController:webPageController animated:YES];
webPageController 加载和读取本地文件。如果文件丢失,我想中止 webPageController 的加载和它的 View 的显示,并显示 TableView 。 我该如何实现?
如果 webPageController 检测到问题,我尝试用它调用各种东西进行试验,例如:
[self.navigationController popViewControllerAnimated:YES];
或
[self.navigationController.navigationBar popNavigationItemAnimated:YES];
要将自己从导航堆栈中弹出,但是这些都不起作用,导航 Controller 尝试像这样弹出自己是错误的吗?实现它的规范方法是什么?
谢谢
最佳答案
应该没问题。你在哪里调用 popViewControllerAnimated:?如果您在 viewDidAppear 之前调用,您可能会遇到问题。 ViewControllers 需要完成出现和消失,然后才能进行任何类型的弹出或推送到其堆栈。如果你以前这样做,你会得到非常奇怪的结果。最常见的症状是它不起作用。它里面的按钮通常也会弄乱。
关于ios - View Controller 应该如何中止加载/关闭自身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9067991/