swift – UIWebView动态内容大小
发布时间:2020-12-14 05:45:54 所属栏目:百科 来源:网络整理
导读:我一直在环顾四周,并没有能够看到任何快速相关的方法来做到这一点.我试图让我的UIWebViews高度变得动态.我有一个使用loadHtmlString函数加载数据的UIWebView.事情是我从sqlite数据库加载数据,每次我加载不同长度的不同字符串时自然web视图获得不同的高度. 现
我一直在环顾四周,并没有能够看到任何快速相关的方法来做到这一点.我试图让我的UIWebViews高度变得动态.我有一个使用loadHtmlString函数加载数据的UIWebView.事情是我从sqlite数据库加载数据,每次我加载不同长度的不同字符串时自然web视图获得不同的高度.
现在我需要知道如何使UIWebView具有精确的高度,以便在webView下加载我的下一个内容.这就是我到目前为止所拥有的 var jobSkillView = UIWebView(frame: CGRectMake(-5,480.0,screenWidth,300.0)) jobSkillView.loadHTMLString("<html><body p style='font-family:arial;font-size:16px;'>" + jobSkills + "</body></html>",baseURL: nil) jobSkillView.stringByEvaluatingJavaScriptFromString("document.body.innerHTML") jobSkillView.scrollView.scrollEnabled = true jobSkillView.scrollView.bounces = true jobSkillView.sizeToFit() border.addSubview(jobSkillView) 我在SO上找到了这样的东西,但不知道如何将它链接到UIWebView的框架: func webViewDidFinishLoad(jobSkillView : UIWebView){ // Change the height dynamically of the UIWebView to match the html content var jobSkillViewFrame: CGRect = jobSkillView.frame jobSkillViewFrame.size.height = 1 jobSkillView.frame = jobSkillViewFrame var fittingSize: CGSize = (jobSkillView.sizeThatFits(CGSizeZero)) jobSkillViewFrame.size = fittingSize // webViewFrame.size.width = 276; Making sure that the webView doesn't get wider than 276 px jobSkillView.frame = jobSkillViewFrame var jobSkillViewHeight = jobSkillView.frame.size.height }
此帖已经更新为Swift 4& WKWebView
所以这是你在那里写的一个非常好的功能,OP! // make sure to declare the delegate when creating your webView (add UIWebViewDelegate to class declaration as well) myWebView.delegate = self func webViewDidFinishLoad(webView: UIWebView) { webView.frame.size.height = 1 webView.frame.size = webView.sizeThatFits(CGSize.zero) } 迁移到WKWebView 1)导入WebKit webView(_ webView: WKWebView,didFinish navigation: WKNavigation!) 从UIWebView迁移到WKWebView后,上述方法似乎不再起作用. webView.frame.size = webView.scrollView.contentSize WKWebView的完整代码将是: func webView(_ webView: WKWebView,didFinish navigation: WKNavigation!) { webView.frame.size.height = 1 webView.frame.size = webView.scrollView.contentSize } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |