滚动视图中的WKWebView [英] WKWebView inside Scroll View

查看:128
本文介绍了滚动视图中的WKWebView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

考虑到在Web View之后必须包含其他元素,如何将WKWebView放入Scroll View.

How can I put a WKWebView inside a Scroll View consider that I must have others elements after Web View.

. View ... Scroll View ....... ImageView ....... WKWebView ....... Button

. View ... Scroll View ....... ImageView ....... WKWebView ....... Button

查看演示图像

  • 问题1:禁用WKWebView滚动
  • 问题2:设置WKWebView的完整内容高度

检查我的示例项目

推荐答案

如果要获取WKWebView中html的内容高度以使其在UIScrollView中不可滚动,请继续阅读.

If you mean to get the content height of the html in WKWebView to make it non-scrollable inside UIScrollView, then read on.

您需要(通过委托)观察webView的内容高度.我正在为您提供这些步骤,因为您完全知道自己在做什么,并且快要到了.

You need to observe (via delegate) the content height of your webView. I'm giving you these steps, since you quite know what you're doing, and you're almost there.

摆脱网络视图高度限制的影响

@IBOutlet weak var constraint_WebViewHeight: NSLayoutConstraint!

订阅webView的代表

这会让您知道(您的控制器在您的webView加载完网站内容之后.

This will let you know (your controller when your webView has finished loading the contents of your site.

self.webView.navigationDelegate = self

符合协议

WKNavigationDelegatedidFinish navigation方法中,然后调整webView高度约束的常数.如果需要,可以放一些动画:)

Inside the didFinish navigation method of WKNavigationDelegate, you then adjust the constant of your webView height constraint. Put some animation if you want to :)

extension ViewController: WKNavigationDelegate {
    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
            self.constraint_WebViewHeight.constant = webView.scrollView.contentSize.height
        }
    }
}

最后,解决您的约束.

a.删除您的imageView底部约束. b.将底部约束添加到"scrollView"的保存"按钮中.

a. Remove your imageView bottom constraint. b. Add bottom constraint to your save button to the scrollView.

这将使您的scrollView可滚动.

This will make your scrollView scrollable.

Voila!这样就产生了结果.

Voila! This yields this result.

我希望这会有所帮助!

这篇关于滚动视图中的WKWebView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆