如何取消UIWebView?

ma1*_*w28 7 objective-c uiwebview uiviewcontroller uikit ios

我模仿地提出了UIViewController一个UIWebView视图.UIWebView当用户点击取消按钮时,如何解除?

我有一个想法是取消按钮链接到http://取消然后签入

- (void)webViewDidStartLoad:(UIWebView *)webView
Run Code Online (Sandbox Code Playgroud)

如果webView.request.URL.host isEqualToString:@"cancel",则关闭视图控制器.

主机是否必须有一个点,例如"cancel.com"?

Rob*_*ier 8

你是在正确的道路上,但你的方法稍微偏离.您不需要或希望这是一个HTTP URL.建立你的网址cancel:.

<a href="cancel:">Thing to click</a>
Run Code Online (Sandbox Code Playgroud)

然后webView:shouldStartLoadWithRequest:navigationType:在您的Web视图委托中实现.像这样(未经测试):

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    if ([request.URL.scheme isEqualToString:@"cancel"]) {
        [self dismissModalViewControllerAnimated:YES];
        return NO;
    }
    return YES;
}
Run Code Online (Sandbox Code Playgroud)


omz*_*omz 6

如果您想要在Web视图中停止加载或者只是关闭包含它的模态视图控制器,则不完全清楚.

要停止加载:

[webView stopLoading];
Run Code Online (Sandbox Code Playgroud)

要关闭视图控制器:

[self dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)

delegate在发布之前不要忘记将Web视图设置为nil.