Uiview scroll with webview

2019-01-20 06:56发布

问题:

I have a webpage in WkWebview, and in the webpage there is rect region where I want to put a UIView playing live movie. I've made the webview and uiview, but I cannot figure out how to make the uiview's position to the rect region. That's to say, when user scroll the webview, the uiview scroll also scrolls. It seems the uiview is a a part of webpage. How can I fix the uiview to webpage in webview?

Thanks for any help.

回答1:

For this can you go to storyboard and see if the uiview is inside the view or not and if then drag it outside and try to set its frame in property console because if you drag and drop to set uiview frame it will be gone in subview of your uiwebview

Hope it will help you



回答2:

Finally I solved this by use javascript to get the regin location of webpage. Then set the UIView to that location.

Here is the code, in the webpage the regin div has tag movie, and the uiview has 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]
    }
}