我以 UIViewController
作为其 View 模态地呈现 UIWebView
。当用户点击取消按钮时,如何关闭 UIWebView
?
我的一个想法是将取消按钮链接到 http://cancel 然后 checkin
- (void)webViewDidStartLoad:(UIWebView *)webView
如果
webView.request.URL.host isEqualToString:@"cancel"
,则关闭 View Controller 。主机是否必须有一个点,例如“cancel.com”?
最佳答案
你走在正确的道路上,但你的方法有点偏离。您不需要或不希望这是一个 HTTP URL。制作您的网址 cancel:
。
<a href="cancel:">Thing to click</a>
然后在您的 Web View 委托(delegate)中实现
webView:shouldStartLoadWithRequest:navigationType:
。像这样的东西(未经测试):- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if ([request.URL.scheme isEqualToString:@"cancel"]) {
[self dismissModalViewControllerAnimated:YES];
return NO;
}
return YES;
}
关于objective-c - 如何取消UIWebView?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7109639/