私は、UIViewControllerにUIWebView(webview1)を持っています。 webviewはほんの数行のテキストですが、そこにリンクがあります。この小さなスペースで、外部のウェブサイトに行くリンクを開くのではなく、フルスクリーンになるwebview2に送信したいと思います。目標は、WebリクエストをSafariではなく私のアプリに保存することです。 webview2用の別のコントローラを作成する代わりに、webview1のコントローラを使用したいと思います。 Webview1Controllerコントローラで別のWebviewへのWebviewリクエストのスロー
は、私がwebViewLoadでこれを行う:私は正常に動作webview2へのWeb要求、ハンドオフのはここ
webview1.delegate = self;
だ:Interface Builderで
- (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に設定します。それは "view"で、webview2outletが接続されています。私はwebview1outrollerという名前のWebview1ControllerにIBOutletを持っています。
私はwebview1に戻っても、同じリクエストを読み込んでいます。 webview1の読み込みを停止する方法はありますか?上記の方法でNOを返すと、webview1は自分のコンテンツをレンダリングしません。
1つの解決策は、機能するviewWillAppearでwebview1コンテンツをリロードすることです。しかし、より良い方法がありますか?
以下のコメントを参照してください。 – 4thSpace
編集済みの回答を参照してください。コメントを入れるには少し時間がかかります。 –
パーフェクト。ありがとう。 – 4thSpace