0

我有一个名为 mainViewController 的 viewController,其中包含一个名为“myWebView”的 UIWebView。mainViewController 提供了一个名为 subViewController 的弹出视图控制器。在 subViewController 中,我有一个应该重新加载 myWebView 的按钮。做这样的事情:

   mainViewController *vc = [[mainViewController alloc] init];

不起作用,因为它创建了 mainViewController 的另一个实例。如何在当前显示弹出窗口的 mainViewController 中重新加载 myWebView。

4

1 回答 1

1

除非我误解了你的问题,否则这似乎很容易实现。我想你可以从 UIPopoverController 发送通知。首先在 viewWillAppear 的主视图控制器中添加 self 作为观察者:

     [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(reloadMyWebView:) name:@"reloadWebView" object:nil];

您必须在您的主视图控制器上实现将执行实际重新加载的方法,这将是

    - (void)realoadMyWebView:(NSNotification *)notification

确保在 viewWillDisappear 中将自己移除为观察者

   [[NSNotificationCenter defaultCenter]removeObserver:self];

然后你可以从你的popover控制器发布一个通知

   [[NSNotificationCenter defaultCenter]postNotificationName:@"reloadWebView" object:nil userInfo:nil];
于 2012-08-10T14:39:46.507 回答