我在写一个基于UINavigationController的iPhone应用程序。我从服务器提取数据,有时会返回虚假链接。我通过推动webview viewcontroller打开每个链接。我想能够包含一些错误处理。我知道这个链接是不是很好。所以我希望能够在我知道我的webview遇到错误时立即弹出webview视图控制器。当我使用popViewControllerAnimated获取空视图和空白导航栏
目前,我使用下面的代码尝试:
[self.navigationController popViewControllerAnimated:YES];
然后我得到它什么都不显示导航栏,但如果我点击那里的“后退”按钮应该是它适当地操作。当我点击“后退”按钮时,标题会弹出。即使我弹出回到UITableViewController,视图控制器通常在其中显示内容的视图也是空白的。
我已经试过这作为一种解决方法:
UINavigationController *nav = self.navigationController;
[self.navigationController popViewControllerAnimated:YES];
[nav.visibleViewController.view setNeedsDisplay];
我检查的的UINavigationController的viewControllers阵列,它有在它的右侧viewcontrollers(即它已经删除了网页视图的视图 - 控制)。
我也试着把viewWillAppear的viewcontroller我弹出回来,但该方法永远不会被调用。
我正在寻找一种方法来强制UINavigationController重新加载相同的方式,你可以在UITableView上调用reloadData
。
任何帮助将不胜感激。
你能告诉你正在使用推码视图控制器? – InsertWittyName 2011-05-03 19:55:11
当然。 [self.navigationController pushViewController:wv animated:YES]; wv是已经被分配,初始化然后传递它加载的url的webview viewcontroller。 – Cyrus 2011-05-03 21:05:12