带有 webview 的 UIView 滚动

Posted

技术标签:

【中文标题】带有 webview 的 UIView 滚动【英文标题】:Uiview scroll with webview 【发布时间】:2017-04-21 02:44:52 【问题描述】:

我在 WkWebview 中有一个网页,在网页中有一个矩形区域,我想在其中放置 UIView 播放实况电影。我已经制作了 webview 和 uiview,但我无法弄清楚如何将 uiview 的位置设置为 rect 区域。也就是说,当用户滚动 webview 时,uiview 滚动也会滚动。 uiview 似乎是网页的一部分。如何在 webview 中修复 uiview 到网页?

感谢您的帮助。

【问题讨论】:

【参考方案1】:

为此,您可以转到情节提要并查看 uiview 是否在视图内,然后将其拖到外部并尝试在属性控制台中设置其框架,因为如果您拖放以设置 uiview 框架,它将消失在您的 uiwebview 的子视图中

希望对你有帮助

【讨论】:

我将uiview添加到webview.addsubview,并且uiview不随webview滚动。 检查我的答案,我现在解决了。非常感谢。【参考方案2】:

最后我通过使用 javascript 来获取网页的注册位置来解决这个问题。然后将 UIView 设置为该位置。

代码如下,网页中的regin div有标签movie,uiview有name player。

func scrollViewDidScroll(_ scrollView: UIScrollView) 
    self.wk.evaluateJavaScript("var rect = document.getElementById('movie').getBoundingClientRect();[rect.left, rect.top];") 
        (result, error) -> Void in
        print(result)
        self.player.view.frame.origin.x = (result as! Array)[0]
        self.player.view.frame.origin.y = (result as! Array)[1]
    

【讨论】:

以上是关于带有 webview 的 UIView 滚动的主要内容,如果未能解决你的问题,请参考以下文章

带有webgl的ios8 webview =在网络应用程序中平滑滚动?

带有嵌入式 UIWebView 的 UIScrollView 在按住后不滚动

多个 UIView 上的 UITapGestureRecognizer(滚动视图子视图)

在 UITableView 中滚动时移除 UIView

显示键盘时如何决定滚动哪个 UIScrollView

如何在 Android 中为 WebView 制作滚动监听器