モーダルセグエで接続された2つのビューコントローラーがあります。宛先コントローラーにもUIWebViewがあります。
ドキュメントを読んで、Webviewコントローラーの却下を担当する最初のコントローラーを選択したいと思います。そうするための私のアクションは、Webviewデリゲートメソッドになります。
私はこれを試しています:
最初のコントローラー:
@interface ABISignInViewController : UIViewController <UIWebViewDelegate>
...
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
...
} else if ([[segue identifier] isEqualToString:@"showWebViewForSignUp"]) {
ABIWebBrowserViewController *webViewController = (ABIWebBrowserViewController *)segue.destinationViewController;
[webViewController.webView setDelegate:self];
[webViewController setUrlString:@"https://myurl"];
}
}
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@"%@", request);
return YES;
}
2番目のコントローラーが起動し、要求されたURLのロードを開始します。
- (void)viewDidAppear:(BOOL)animated {
NSURL *url = [NSURL URLWithString:self.urlString];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:requestObj];
}
ただし、最初のコントローラーのデリゲートメソッドが呼び出されることはありません。方向性はありますか?