如何在dismissViewControllerAnimated:completion之后访问firstViewController的webView:

时间:2012-10-10 09:55:47

标签: ios ios5 ios6

我的环境,

iOS6
Xcode 4.5.1
application for iOS5 or later

我使用两个ViewControllers。

FirstViewController有webView和segue模式来调用SecondViewController。

[self performSegueWithIdentifier:@"foo" sender:self];

然后,在关闭SecondeViewController之后,我想在FirstViewController中重新加载webView。 我该如何重新加载?

我使用以下代码关闭SecondViewController。

[self.parentViewController dismissViewControllerAnimated:YES completion:^{  }];

非常感谢提前。

3 个答案:

答案 0 :(得分:1)

您可能需要致电:

[webView reload];

在viewWillAppear等适当的地方,或firstViewController的viewDidAppear委托方法。

您也可以通过以下完成块重新加载webView:

[self.parentViewController dismissViewControllerAnimated:YES completion:^{ [self.firstViewController.webView reload]; }];

但是为此你必须在完成块(范围)中提供firstViewController的实例。为此,您可以在appdelegate或任何其他方式声明您的firstViewController。您还需要将webView设置为firstViewController的属性。

答案 1 :(得分:0)

UIWebView有一个名为reload的方法,您可以试试。

你可以从你的dismissViewControllerAnimated完成块中调用它,或者你可以从你的第一个控制器viewWillAppear调用它(但在这种情况下,你应该确保这不会导致过多的重新加载)。

答案 2 :(得分:0)

从视图控制器层次结构中的父节点中删除接收器。

- (void)removeFromParentViewController

您可以关注Apple Class Reference 希望这会帮助你。