iOS: я хотел бы нажать на элемент панели вкладок, чтобы всегда указывать на исходный URL - PullRequest
2 голосов
/ 28 октября 2011

У меня есть приложение с 4 вкладками.

Одной из этих вкладок является UIWebView.Начинается с определенного URL.Мне бы хотелось, чтобы после навигации по этому веб-представлению путем нажатия на ссылки и т. Д. При повторном нажатии на элемент вкладки он перезагружал исходный URL-адрес.Как я мог сделать это?

1 Ответ

1 голос
/ 28 октября 2011

В методе viewWillAppear контроллера представления, который содержит UIWebView, всегда устанавливайте URL-адрес оригинала.

- (void) viewWillAppear:(BOOL)animated {
     NSURL *url = [NSURL URLWithString:@”http://www.google.com”];
     NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
     [webView loadRequest:requestObj];
}

Редактировать Re: Ваши комментарии:

//Where you set the UITabBarDelegate (maybe in AppDelegate)
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
   if (item == webViewItem) {
      //Navigating to the web view or already showing it
      [webViewController reloadWebView]
   } else if (webViewNeedsReloading) {
      //Navigating to some other view
      [webViewController reloadWebView]
   }
}

Я только проверяю, потому что я оптимизирующий злодей и ненавижу запускать код без необходимости.При этом я уверен, что просто сделаю:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
   [webViewController reloadWebView]
}

будет хорошо и не окажет ощутимого влияния на производительность.

...