如何在HomeButton上重新加载UIWebView

时间:2011-07-27 15:53:27

标签: objective-c xcode ipad uiwebview

我想重新加载我在应用程序打开时加载的简单UIWebView,并从iPad主页按钮关闭。

我搜索了其他问题,但似乎没有一个问题,因为我不想在我的应用中添加额外的按钮或标签或其他内容。

我试过了:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [webView reload];
}

但这没有反应。我的初始化代码位于从UIViewController派生的控制器中,UIwebview初始化在 - (void)viewDidLoad

有任何线索如何做到这一点?

亲切的问候

3 个答案:

答案 0 :(得分:6)

正如人们已经指出你可能想要applicationWillEnterForeground:电话,但不要试图向你的app代表添加一堆垃圾。

相反 - 您应该在初始化包含UIViewController的{​​{1}}时注册接收此通知。

UIWebView

然后实现类似的刷新方法:

- (id)init
{
  self = [super init];
  if (self) {
    [[NSNotificationCenter defaultCenter] addObserver:self 
                                             selector:@selector(reloadWebView:) 
                                                 name:UIApplicationWillEnterForegroundNotification 
                                               object:nil];
    // Do some more stuff
  }
  return self;
}

你需要在dealloc中取消注册以避免任何令人讨厌的事情,比如这个

- (void)reloadWebView:(NSNotification *)notification
{
  [webView reload];
}

答案 1 :(得分:0)

尝试在applicationWillEnterForeground:中刷新您的观点。当应用程序在使用主页按钮放入后台后恢复时,此消息将发送给您的应用程序代理。

答案 2 :(得分:0)

您是否想要在多任务处理后用户恢复应用时刷新Web视图?在这种情况下,您所追求的是UIApplicationDelegate中的applicationWillEnterForeground:方法。

多任务处理的一般信息是here