如何在 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 的交互的主要内容,如果未能解决你的问题,请参考以下文章
如何阻止 viewForAnnotation 方法覆盖 iOS 中的默认用户位置蓝色信标
如何在向下滑动 UIWebView 以修复 iOS7 状态栏覆盖问题后更改 UIWebView 背景颜色?