У меня есть UIViewController с UIWebView (webview1) в нем. Веб-просмотр - это всего лишь несколько строк текста, но в нем есть ссылка. Вместо того, чтобы открывать ссылку, которая идет на внешний сайт, в этом крошечном пространстве, я бы хотел отправить ее на webview2, которая будет в полноэкранном режиме. Цель - сохранить веб-запросы в моем приложении, а не в Safari. Вместо того, чтобы создавать еще один контроллер для webview2, я бы хотел использовать контроллер webview1.
В контроллере Webview1Controller я делаю это в webViewLoad:
webview1.delegate = self;
Здесь я передаю веб-запрос webview2, который работает нормально:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
myapp *delegate = [[UIApplication sharedApplication] delegate];
Webview1Controller *webview1Controller = [[Webview1Controller alloc] initWithNibName:@"webview2" bundle:nil];
//self.view = webview2;'
[delegate.navigationController pushViewController: webview1Controller animated:YES];
[webview1Controller.webview2 loadRequest:request];
[webview1Controller release];
return YES;
}
В Интерфейсном Разработчике у меня есть класс владельца файла webview2.xib, установленный в Webview1Controller. Это «вид» и webview2outlet подключены. У меня есть IBOutlet в Webview1Controller с именем webview2outlet.
Когда я возвращаюсь к webview1, он также загружает тот же запрос. Есть ли способ остановить загрузку webview1? Если я верну NO в указанном выше методе, webview1 не будет отображать мой контент.
Одним из решений является перезагрузка контента webview1 в viewWillAppear, который работает. Но есть ли лучший способ?