我有一个名为mainViewController的viewController,它包含一个名为“myWebView”的UIWebView。 mainViewController提供了一个名为subViewController的popover viewController。在subViewController中,我有一个应该重新加载myWebView的按钮。做这样的事情:
mainViewController *vc = [[mainViewController alloc] init];
不起作用,因为它创建了另一个mainViewController实例。如何在当前显示弹出窗口的mainViewController中重新加载myWebView。
答案 0 :(得分: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];