美文网首页
iOS 一个和webview交互出现的bug

iOS 一个和webview交互出现的bug

作者: money_ac9e | 来源:发表于2022-02-11 12:34 被阅读0次

问题

今天,产品突然提了一个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 还是应该找到出现的原因,而不是瞎搞

相关文章

网友评论

      本文标题:iOS 一个和webview交互出现的bug

      本文链接:https://www.haomeiwen.com/subject/dbmakrtx.html