私はUIWebView
デリゲートを持っていid<UIWebViewDelegate>
ます。UIWebView でリンクをクリックするとNSURLRequest
、コールバックでオブジェクトを取得します。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
私がやろうとしていることは次のとおりです。
- (void)presentWebViewControllerWithUrl:(NSURL*)URL{
SVModalWebViewController *webViewController = [[SVModalWebViewController alloc] initWithURL:URL];
webViewController.modalPresentationStyle = UIModalPresentationPageSheet;
webViewController.availableActions = SVWebViewControllerAvailableActionsOpenInSafari | SVWebViewControllerAvailableActionsCopyLink | SVWebViewControllerAvailableActionsMailLink;
[self presentModalViewController:webViewController animated:YES];
}
このコードをメイン ビュー コントローラーに配置すると、モーダル Web ビューが表示されますが、デリゲートに配置すると表示されません。どうすれば表示されますか?
アップデート:
NO
から戻るshouldStartLoadWithRequest
と、UIWebViews がコンテンツなしで白くなります。webviews の読み込み時にコールバックが呼び出されているようです。
モーダルが表示さHTML
れないで、ローカルに保存されているものをロードしています。[web loadHTMLString:@"..." baseUrl: nil]
私のビュー階層は次のとおりです。
- メインビュー
- UIView
- UIScrollView
- UIWebView
- UIWebView
- ...
- UIScrollView
- UIView
メイン ビュー コントローラでイベントを確認できるように、コールバックを「バブル」する方法はありますか?