UIWebView的探究:WebView是如何实现不能添加手势

我想给webView添加手手势,结果添加不上,网上提供了解决办法:

1.cancelsTouchesInView=NO;

2.使用它的delegate

3.实现delegate

这个代理方法比较有意思,如果没有实现这个方法的话,一个 view只能添加一次同种手势,并且后面添加的手势会覆盖前面的手势。那么疑问解决了

还是想搞清楚原理,就用runtime 探究它的属性,变量,方法,结果出现一大堆东西,却没有丝毫帮助。我想知道webView包涵了那些手势,既然webView有手势,那么我就遍历出来,思路是先去的webView 上的所有view(包含webView),然后取webView的手势,方法如下:

打印结果
遍历所有的View

大家猜猜结果如何,结果是:objc[634]: Class WebView is implemented in both /System/Library/PrivateFrameworks/WebKitLegacy.framework/WebKitLegacy and /var/containers/Bundle/Application/44B0B0E6-C43E-470E-82D2-9F231F6C6F00/CustomWebView.app/CustomWebView. One of the two will be used. Which one is undefined.并且无法push到当前的controller

这个方法宣布失败;希望这点经验对大家有帮助,如果有方法解决,请提点,感激不尽。

其实还有一种实现方式,发给大家个思路,重写手势

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,429评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,206评论 4 61
  • 我相信写作是一条通往光明的路。即使这条路上有荆棘和风雨,都是你可遇而不可求的素材。英国诗人华兹华斯说:自然从不背离...
    静听陌上时光阅读 3,630评论 2 3
  • 你是不是觉得生活无趣却又不知道如何有趣?你是不是对千篇一律的生活感到痛苦却又无法自拔?那么来看看这本书吧。最近键人...
    伟大的平凡人阅读 3,658评论 2 1
  • 其一(上平十五删) 行云乌一片,白子落其间。 空照林中路,归人独自闲。 其二(新韵) 抬首观瑶镜,忽觉似一仙。 独...
    无是也阅读 1,001评论 0 0