0
我有两个视图控制器通过模态连接。目的地控制器也有一个UIWebView。为segue控制器设置webview代理?
阅读文档我想选择第一个控制器负责解雇web视图控制器,我这样做的动作是使用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;
}
第二控制火灾,并开始装载请求的URL:
- (void)viewDidAppear:(BOOL)animated {
NSURL *url = [NSURL URLWithString:self.urlString];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:requestObj];
}
然而,在第一个委托方法控制器从未被调用。 任何方向?
,因为我想第一个控制器来负责关闭模式web视图控制器,基于请求的URL,因此控制器也可重复使用。看到这里:https://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html“消除提出的视图控制器” – kain
然后,你会使用协议和委托模式来做到这一点。看到这个SO回答:http://stackoverflow.com/questions/8905961/modal-view-controller-not-calling-presenting-view-controllers-dismissmodalviewc/8910988#8910988 –