第一步:
- (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方法里得一致
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。