ios - View Controller 应该如何中止加载/关闭自身?

标签 ios

我有一个 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/

相关文章:

iphone - 如何从一个 iPhone 麦克风向另一个 iPhone 扬声器发送和接收实时音频?

ios - 为什么在 iOS 6 中会发生自转,而在 iOS 5 中不会发生?

ios - UIImageView加载然后立即变黑

iphone - 如何检查设备是 4 还是 4s?

javascript - 如何创建一个 react native 全屏模式,它将覆盖带有选项卡的 SafeAreaView?

ios - Xamarin 低功耗蓝牙

ios - 如何将 UI 元素保留在 UIViewController 及其呈现的 ViewController 之上?

ios - didSelectItemAt 和 didDeselectItemAt 在 swift 3.0 中没有按预期工作

ios - 试飞 : "You are currently not testing any apps" error

ios - 我怎样才能防止用户点击按钮两次,这样当用户关闭应用程序并打开他仍然无法点击