ios html调用图片选择,iOS webView 加载 HTML,点击图片或链接相应操作

开发中,需要展示 HTML 类型的数据,HTML 相应包含图片或链接需要处理,多数选择的 UIWebView 或 WKWebView(关于两者的区别不明白,请自行百度),今天把一个三方类介绍给大家,那就是 IMYWebView,这个类兼容 WKWebView 和 UIWebView,实现了 UIWebView 到 WKWebView 的对接,即使你之前的项目是用的 UIWebView ,那也没关系,只要将 UIWebView 换成 IMYWebView 就可以了。

426f5afd3672

HtmlWebView.gif

图片或链接相应操作,具体详情请查看 Demo

//添加图片可点击js

- (void)webViewDidFinishLoad:(UIWebView *)webView{

// //调整字号

// NSString *str = @"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '95%'";

// [webView stringByEvaluatingJavaScriptFromString:str];

//添加图片可点击js

static NSString * const jsGetImages =

@"function getImages(){\

var objs = document.getElementsByTagName(\"img\");\

for(var i=0;i

objs[i].οnclick=function(){\

document.location=\"myweb:imageClick:\"+this.src;\

};\

};\

return objs.length;\

};";

[webView stringByEvaluatingJavaScriptFromString:jsGetImages];//注入js方法

//注入自定义的js方法后别忘了调用 否则不会生效(不调用也一样生效了,,,不明白)

[webView stringByEvaluatingJavaScriptFromString:@"getImages()"];

/** 加载链接 图片*/

[self getImageData];

}

/**

加载 webview 图片

*/

- (void)getImageData{

//这里是js,主要目的实现对url的获取

static NSString * const jsGetImages =

@"function getImages(){\

var objs = document.getElementsByTagName(\"img\");\

var imgScr = '';\

for(var i=0;i

imgScr = imgScr + objs[i].src + '+';\

};\

return imgScr;\

};";

[self.web stringByEvaluatingJavaScriptFromString:jsGetImages];//注入js方法

NSString *urlResurlt = [self.web stringByEvaluatingJavaScriptFromString:@"getImages()"];

mUrlArray = [NSMutableArray arrayWithArray:[urlResurlt componentsSeparatedByString:@"+"]];

[mUrlArray removeLastObject]; // 删除最后一个 +

_assets = [NSMutableArray array];

for (NSString *url in mUrlArray) {

ZLPhotoPickerBrowserPhoto *photo = [[ZLPhotoPickerBrowserPhoto alloc] init];

photo.photoURL = [NSURL URLWithString:url];

[_assets addObject:photo];

}

}

/**

图片浏览

@param aStr

*/

- (void)tapBrowser:(NSString *)aStr{

[self.assets enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

ZLPhotoPickerBrowserPhoto *photo = obj;

if([photo.photoURL.absoluteString isEqual:aStr]){

index = idx;

}

}];

// 图片游览器

ZLPhotoPickerBrowserViewController *pickerBrowser = [[ZLPhotoPickerBrowserViewController alloc] init];

pickerBrowser.status = UIViewAnimationAnimationStatusZoom;

pickerBrowser.photos = self.assets;

// 当前选中的值

pickerBrowser.currentIndex = index;

// 展示控制器

[pickerBrowser showPickerVc:self];

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值