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

Posted

技术标签:

【中文标题】如何在 UIWebView 上显示覆盖而不阻止用户与 UIWebView 的交互【英文标题】:How to display an overlay over the UIWebView without blocking user-interaction with UIWebView 【发布时间】:2012-03-07 10:00:35 【问题描述】:

正如问题标题所说,我想在 UIWebView 加载时在 UIWebView 上显示一个浅蓝色叠加层,并且不会阻止用户与 UIWebView 的交互。有可能达到这个效果吗?

目前,当 UIWebview 加载时,我在 UIWebView 上显示部分透明的浅蓝色 UIView。但这会阻止用户与 UIWebView 的交互。

【问题讨论】:

【参考方案1】:

我用来覆盖 UIPicker 的技术应该可以工作,那就是

1.创建一个自定义 UIButton,将你想要的“叠加层”作为背景。

我使用自定义 UIButton 只是因为它已经具有透明度,但您可以使用图像视图并将其背景颜色设置为 clearColor。

2.在自定义按钮上设置 userInteraction = NO

3.在视图上添加自定义 UIButton(在本例中为 Web 视图)

【讨论】:

谢谢。你的想法有两个小的变化,我得到了它的工作。我将 imageView 的 Alpha 设置为 0.5,并将背景颜色设置为匹配的叠加颜色。 实际上,如果您可以在 xib 中完成,这种方式非常有效,因为一切都可以在 nib 中完成,而无需使用任何代码。【参考方案2】:

看看this的回答。这是其他问题的答案,但对您的情况应该非常有用。

编码愉快...

【讨论】:

感谢您的回复。我没有测试您的解决方案,因为 Damo 的解决方案工作量较小。但无论如何,感谢您的宝贵时间。

以上是关于如何在 UIWebView 上显示覆盖而不阻止用户与 UIWebView 的交互的主要内容,如果未能解决你的问题,请参考以下文章

uiwebview 阻止访问 uitoolbar 上的按钮

如何阻止 viewForAnnotation 方法覆盖 iOS 中的默认用户位置蓝色信标

检测 UIWebView 中的文本亮点

如何在向下滑动 UIWebView 以修复 iOS7 状态栏覆盖问题后更改 UIWebView 背景颜色?

如何在 Spring Security 中阻止 LDAP 用户帐户而不锁定 LDAP 用户?

子资源完整性:如何仅显示警告而不显示阻止资源?