区分webView中js点击事件和tapGesture

在webview中添加手势,必须实现以下代理才有效;

func gestureRecognizer(gestureRecognizer:UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer:UIGestureRecognizer) ->Bool{return true}

若webview中有js的点击事件,如何区分?

经debug发现,js点击事件的gesture属于WKSyntheticClickTapGestureRecognizer,这是个运行时的属性,直接取是取不到的。但是我们可以用description属性,即otherGestureRecognizer.description,返回的是一个描述字符串,实现如下:

func gestureRecognizer(gestureRecognizer:UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer:UIGestureRecognizer) ->Bool{

if otherGestureRecognizer.description.containsString("WKSyntheticClickTapGestureRecognizer") {

return false

} return true }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容