美文网首页iOS开发杂货铺
UIWebView 点击图片放大

UIWebView 点击图片放大

作者: Pierre_ | 来源:发表于2017-05-13 23:17 被阅读270次

    第一步:

    - (void)webViewDidFinishLoad:(UIWebView *)webView {
        NSString * imageJavaScript =
                      @"function assignImageClickAction() {                                 \
                            var a = document.getElementsByTagName('img');                    \
                            var b = a.length;                                                \
                            for (var i = 0; i < b; i++) {                                    \
                                img = a[i];                                                  \
                                img.onclick = function() {                                   \
                                    window.location.href = 'image-preview:' + this.src       \
                                }                                                            \
                            }                                                                \
                        }";
       
        [self.webView stringByEvaluatingJavaScriptFromString:imageJavaScript];
    
        [self.webView stringByEvaluatingJavaScriptFromString:@"assignImageClickAction();"];
    }
    
    

    第二步:

    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
        //预览图片
        if ([request.URL.scheme isEqualToString:@"image-preview"]) {
            NSString* path = [request.URL.absoluteString substringFromIndex:[@"image-preview:" length]];
            path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    
            [self.imageView setImageWithURL:[NSURL URLWithString:path] placeholderImage:[UIImage imageNamed:@"default"] usingActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
            
            [UIView animateWithDuration:0.2f animations:^{
                self.imageView.alpha = 1.0f;
            }];
            return NO;
        }
        return YES;
    }
    

    *****关键点*****

                image-preview    这个名字两个webview方法里得一致
    

    相关文章

      网友评论

      本文标题:UIWebView 点击图片放大

      本文链接:https://www.haomeiwen.com/subject/gwefxxtx.html