news 2026/4/29 7:26:45

再次紧急修复,Flutter 针对 WebView 无法点击问题增加新的快速修复

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
再次紧急修复,Flutter 针对 WebView 无法点击问题增加新的快速修复

前几天我们刚聊了 《Flutter 官方正式解决 WebView 在 iOS 26 上有点击问题》 ,这是一个完整的底层重构修复,整个修复周期审核堪比“博士论文”,但是也带来了一个问题,它只修复了 Engine 和 Framework 层面问题,那插件端还需要等升级适配修复,这链路就又再一次拉长了

所以针对这个场景,作者又提交了一个“骚操作”的快速修复,#179908 这个 PR 的修复方案非常“暴力”但也有效:找到那些特定的手势识别器,先禁用它们,然后立即重新启用, 这相当于重置了识别器的状态。

是不是又有熟悉的味道?不理解的可以看上上篇讲这个点击问题的内容。

为什么需要这个新的 PR ?因为这是一个无需任何插件更新的快速修复方案,并且也已经合并到了 master :

这个 PR 具体的代码修改就是:在FlutterTouchInterceptingView中添加了两个核心的辅助方法,并在blockGesture中调用:

  • searchAndFixWebView: 一个递归函数,它会遍历视图层级,如果遇到的视图是WKWebView类型,它就会调用修复手势的方法,执行searchAndFixWebViewGestureRecognzier,确保即使WKWebView被嵌套在其他UIView中也能被找到

  • searchAndFixWebViewGestureRecognzier: 也是一个递归函数,遍历当前视图的所有gestureRecognizers,检查识别器是否启用,并且类名是否用"TouchEventsGestureRecognizer"结尾 (通常对应WKTouchEventsGestureRecognizer) ,然后执行recognizer.enabled的关闭和打开操作:

  • 修改了blockGesture, 当手势拦截策略为FlutterPlatformViewGestureRecognizersBlockingPolicyEager时,在 iOS 26 改为直接调用[self searchAndFixWebView:self.embeddedView];来执行上述修复逻辑:

最后,方案还增加了一个FLTDisableWebViewGestureReset,给开发者添加了一个安全阀,通过读取Info.plist中的FLTDisableWebViewGestureReset,如果这个修复方案上线后出现严重问题,开发者可以通过配置这个 flag 来禁用这个“重置手势”的逻辑。

可以看到,这是一个快速且粗暴的改动,就是在FlutterPlatformViews.mm中实现了针对WKWebView手势识别器的递归搜索和“重启”机制,并在blockGesture中针对 iOS 26+ 启用了这个机制

但是好处也很明显,可以什么插件都不改就生效,当然主要是一个临时修复,为的是方便开发者快速解决问题,真正 fix 的途径还是推荐走之前的 hitTest :

参考链接

https://github.com/flutter/flutter/pull/179908

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 16:54:06

12月最新论文降AI率全流程,附免费降AI方法+降AI率工具

马上就要截稿了,很多同学此时的心情大概是:查重率过了,以为万事大吉,结果一查AI率直接炸了 。 虽然论文是你一个个字敲出来的(或者真的借鉴了一点点),但只要AI检测报告上显示红色预警&#xff…

作者头像 李华
网站建设 2026/4/18 7:25:48

PyTorch 分布式训练底层原理与 DDP 实战指南

深度学习模型参数量和训练数据集的爆炸式增长,以 Llama 3.1 为例:4050 亿参数、15.6 万亿 token 的训练量,如果仅靠单 GPU可能需要数百年才能跑完,或者根本无法加载模型。并行计算(Parallelism)通过将训练任…

作者头像 李华
网站建设 2026/4/29 3:45:33

求职兼职招聘系统源码 Python+Django+Vue 前后分离 设计文档

一、关键词求职招聘系统、兼职平台、招聘管理系统、求职系统、兼职招聘平台二、作品包含源码数据库万字设计文档全套环境和工具资源本地部署教程三、项目技术前端技术: Html、Css、Js、Vue3.2、Element-Plus后端技术:Python3.7、Django2.0、PyMySQL四、运…

作者头像 李华