1.引言
相信用过苹果手机的童鞋,会发现很多新闻类的应用,都可以实现HTML图片本地预览,那么这是如何实现的呢?本文将深入阐述其中的原理.
关于此功能,我还实现了一个DEMO,大家可以点击此访问更详细内容
2.原理
接触过web开发的人,就了解与html元素交互都是通过javascript进行的,比如点击、滑动等,比如点击标签的响应代码如下
var img = document.getElementById('test');
img.onclick = function() {
do some thing
}
顺着这个思路往下想,就可以推测出,在iOS中实现点击图片本地预览,也应该是跟javascript交互的,于是问题转换成了javascript与objc的交互. 关于javascript与objc的交互,google下一大堆,看似很复杂,其实非常简单,我这里简单阐述下,大家都知道在iOS中是用UIWebView控件来显示HTML的,那么javascript与objc要实现交互,桥梁必须是UIWebView,通过查看UIWebView提供的相关接口,可以找到如下接口:
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script - (BOOL)webView:(UIWebView *)webView shouldStartL