UIWebview GestureRecognizer 用于显示工具栏

Posted

技术标签:

【中文标题】UIWebview GestureRecognizer 用于显示工具栏【英文标题】:UIWebview GestureRecognizer for showing a toolbar 【发布时间】:2011-11-29 20:58:37 【问题描述】:

我有一个 Webview(在一个视图内)和一个大部分时间都隐藏的工具栏。

这是 ipad 杂志很常见的行为: 点击页面会隐藏和显示工具栏,但工具栏默认是隐藏的。

我正在使用 shouldRecognizeSimultaneouslyWithGestureRecognizer

现在的行为是这样的: - 如果用户点击页面(webview),它会使用手势识别器切换工具栏状态 - 如果用户点击页面并且在 UIWebview 中有一个交互式元素(例如网络链接),它会响应该交互式链接,但也会切换工具栏。

期望的行为是这样的: - 如果用户在非交互区域点击页面,它会切换工具栏状态 - 如果用户在交互区域点击页面,它只会响应 webview 交互而不切换工具栏。

注意这里有一个几乎相同的问题: Gesture recognition with UIWebView 即使它被标记为已解决,如果您通读它,您会发现该解决方案不适用于发帖者,并且当他(和我)想要一个非此即彼的响应时,他仍然得到双重响应。我确实尝试过发布后续问题,但可能是因为版主认为问题已解决,所以被删除了

【问题讨论】:

【参考方案1】:

如果UIWebView,无论出于何种原因,捕捉到触摸,您也将无法获得UIGestureRecognizer 回调。我唯一的建议是,当您点击某些东西时,让网站中发生的任何事情都执行一些 javascript,然后捕获该 Javascript。您可以以this 为例。

【讨论】:

以上是关于UIWebview GestureRecognizer 用于显示工具栏的主要内容,如果未能解决你的问题,请参考以下文章

swift - UIWebView 和 WKWebView(iOS12 之后替换UIWebView)

调整 UIWebView 框架大小时如何禁用 UIWebView 调整内容大小

如何在 UIWebView 上显示覆盖而不阻止用户与 UIWebView 的交互

UIWebview 删除填充/边距

在 xib 上更改小部件的类? (将 UIWebView 更改为我自己的 UIWebView 类别)

UIWebView 正在请求位置权限