提问人:Stoffel 提问时间:11/2/2023 最后编辑:Stoffel 更新时间:11/2/2023 访问量:31
如果没有触摸 html 元素,如何忽略或传递 WKWebView 上的触摸输入
How to ignore or pass through touch input on WKWebView if no html element is touched
问:
我目前正在尝试在其他一些视图之上有一个 WKWebView,并且两者都是可交互的。对于 WebView,我希望按钮等可单击,但(透明)背景上的触摸输入将传递到底层视图。
我能够开始工作的一件事是获取像素(使用 self.layer.render),然后检查它是否透明并覆盖点方法,如下所示:
public override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
return !isTransparent(point: point)
}
Смотритетакже: iOS WKWebView 从点获取 RGBA 像素颜色
这确实有效,但感觉非常昂贵。
另一种方法是使用 JavaScript(使用 webView.evaluateJavaScript)让它告诉我是否在加载的页面中选择了某些内容。但是,当我在 point 或 hitTest 覆盖中执行此操作时,结果总是过时的,因为它是异步的。但是,当我尝试等待结果(使用信号量)时,它只是冻结了应用程序。
有没有更好、更清洁的方法来实现这一目标?
答: 暂无答案
评论