iOS实现WebView上图片放大 用法及原理

1.主要使用到的是SDWebImage 框架,所以要导入SDWebImage。且#import"UIButton+WebCache.h"

2.在自己写的webview的webViewDidFinishLoad代理方法中添加代码  原理(在加载完后给html里的img添加js点击方法,在其跳转链接里添加标示符image-preview及图片的url)

[self.webViewstringByEvaluatingJavaScriptFromString:@"function assignImageClickAction(){var imgs=document.getElementsByTagName_r('img');var length=imgs.length;for(var i=0;i];[self.webView stringByEvaluatingJavaScriptFromString:@"assignImageClickAction();"];

3.自己写一个全屏的button  imagePreviewButton ​   将button的alpha = 0.0f; 这个是展示大图消失的方法

button​点击方法中      [UIViewanimateWithDuration:0.2fanimations:^{

        self.imagePreviewButton.alpha = 0.0f;

    }];

4.在自己写的webview的shouldStartLoadWithRequest代理方法中     原理(在请求的时候抓到请求的url取得url,展示到self.imagePreviewButton ---实现方式多样)

if ([request.URL.schemeisEqualToString:@"image-preview"]) {

        NSString* path = [request.URL.absoluteStringsubstringFromIndex:[@"image-preview:"length]];

        path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        [self.imagePreviewButton sd_setImageWithURL:[NSURLURLWithString:path]forState:UIControlStateNormalplaceholderImage:[UIImageimageNamed:@"default"]];

        [UIViewanimateWithDuration:0.2fanimations:^{

          self.imagePreviewButton.alpha = 1.0f;

        }];

        returnNO;    }

    return YES;

写完就可以自己测试看看​   可以填http://www.chunbo.com/Act/799?pg=index&md=banner2&pt=pt2-bimg<=1 这里有图片可以供测试。

原创demo下载地址:​ https://github.com/smallmuou/PPHTMLImagePreviewDemo

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值