iOS 一个和webview交互出现的bug

问题

今天,产品突然提了一个bug
点击webview的抽奖 知道了 按钮,导致整个webview隐藏

图片

思路

1.第一反应是webview人员加了方法,调用了返回方法
结果产品来了句,人家安卓没问题 点击 知道了 不隐藏webview
2.经过反复点击和断点调试,就是调用了返回的方法
3.因为webview上面有一段空白,产品要求点击空白也能隐藏webview
所以我们给view添加一个tap事件,隐藏webview
断点发现是这个方法被触发了
4.解决是webview上面添加一个view 给view添加点击事件

思考

通过上面的方法确实是解决了bug 但是是什么原因呢?

是底部的view响应了事件,根据iOS响应机制,是webview响应被禁止了

在查找代码和之前的同事沟通才发现是,做之前的功能导致的bug,
这是砸蛋的活动,用户点击开始后有个动画,然后再出来奖品
产品要求,砸蛋时上面的空白不能点击,
于是开始砸蛋webview调用方法play_start,结束砸蛋调用方法play_end
play_start时禁止view点击,play_end时在允许点击
在由于顶部view和webview是两个controller,禁止webview点击时,消息机制就将点击事件传递到了父视图的点击事件,隐藏了webview

至此 bug产生的原因已经找到,在解决就是小事情了,但是上面的解决方法是白写了

总结

出现了bug 还是应该找到出现的原因,而不是瞎搞

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容