项目介绍:
模仿微信公众号文章效果,长按UIWebView上的图片,弹出对话框,用户点击确定则保存图片到本地相册。
主要思路
-
给UIWebView添加长按手势
-
监听手势动作,拿到坐标点(x,y)
-
UIWebView注入js:Document.elementFromPoint(x,y).src拿到img标签的src
-
判断拿到的src是否有值,有值则代表点击的网页上的img标签,此时弹出对话框,是否保存到相册。如果src为空,则代表点击网页上的非img标签,则不需要弹出对话框。
-
拿到图片的url,生成UIImage
-
图片保存到相册
有巨坑
-
长按手势事件不能每次都响应,据我猜测UIWebView本身就有很多事件,所以实现下UIGestureRecognizerDelegate代理方法。长按手势准确率100%
-
如果需要查看详情请看博文或者下载代码运行查看效果。