我以 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/

10-09 02:17
查看更多