- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 UIScrollView 并在底部放置一些 UILabels 和 WKWebView。 WkWebView 框架大小始终等于其 contentSize,并且我禁用其 userInteraction。我使用 html 字符串在 WKWebView 中显示数据。在将 html 字符串加载到 WKWebView 之前,我可以通过替换 css 中的关键字来更改 WKWebView 中的字体大小。
我的问题是当我增加字体大小时,WKWebView的scrollView.contentSize.height也会增加,但是当我减小字体大小时,WKWebView的scrollView.contentSize.height没有减少。它总是记住它的最大值。这在 WKWebView 和我的 UIScrollView 中留下了很大的空白。如何使WKWebView的scrollView.contentSize适合其内容?
这是我在 WKWebView 完成加载其内容时调整 UIScrollView 大小的代码。
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
print(webView.scrollView.contentSize.height)
self.webView.frame = CGRect(x: self.webView.frame.origin.x, y: self.webView.frame.origin.y, width: webView.scrollView.contentSize.width, height: webView.scrollView.contentSize.height)
self.scrollView.contentSize = CGSize(width: contentView.bounds.width, height: self.webView.frame.origin.y + webView.scrollView.contentSize.height)
}
最佳答案
我通过将初始字体大小(小字体)的高度保存在变量中来处理它,并在更改字体大小时返回大字体的正确高度,但在再次返回小字体时不返回正确的高度....这就是为什么我不在再次返回小字体后计算字体,而是从我之前保存的变量中获取值..
var webviewHeightForSmallFont : CGFloat = 0
webView.evaluateJavaScript("document.documentElement.scrollHeight", completionHandler: { (height, error) in
let h = height as! CGFloat
if self.textSize == 100 && self.webviewHeightForSmallFont == 0{
self.webviewHeightForSmallFont = h
}
if self.webviewHeightForSmallFont != 0 && self.textSize == 100 {
self.delegate!.webViewDidGotHeight(self.webviewHeightForSmallFont)
}
else if self.cellHeight != h {
self.delegate!.webViewDidGotHeight(h)
}
else if h == 0 {
self.delegate!.webViewDidFaildToGotHeight()
}
在上面的代码中,100 尺寸用于小字体,150 尺寸用于大代码...上面的代码部分检查字体是否设置为小并且没有其他值,然后 0 ...然后将高度保存在webviewHeightForSmallFont
变量,如果它已经有一些值并且字体很小,那么使用最后一个值......因为它对于大字体工作正常。
关于html - 调整字体大小后 WKWebView contentSize 高度不改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49478601/
我有一个 UIViewController 和一个纵向的 iPad xib。当我的 iPad 处于横向并将该 View Controller 放入 UISplitViewController 的详细信
我在 UITableViewCell 中有一个 collectionView。 collectionView 的内容是动态的,因此它的高度也是动态的,tableView 单元格的高度取决于 colle
我正在制作一个启用了分页机制的简单 UICollectionView,一切正常。但是,当滚动到最后一页时,单元格的数量在屏幕上并不完全可见,最后一页包含前一页的一些单元格。 如何扩展 UICollec
我在 UIView 类中使用 UIBezierpath 绘制对话气泡。在 View 类中包含UITextView。我正在使用以下代码来绘制对话气泡。 //BezierPathView.h @inter
我正在开发一个带有甘特图的小型 iPad 应用程序,它将显示过去 25 小时内的事件。我有 5 个缩放级别,每个级别分别为 1 小时、30 分钟、15 分钟、5 分钟和 1 分钟。我的单元格宽度为 3
我需要动态地将文本字段添加到 ScrollView 。我能够做到这一点,添加后我每次都会计算并更新 ScrollView 的内容大小。 更新内容大小后,我可以在屏幕上查看它,一旦编辑文本字段(键盘消失
是否可以使用动画更改 UIScrollView 的 contentSize ,以便大小在特定时间段内减小/增大,例如 UIView.animateWithDuration(0.3, animation
我们面临一个问题,即当弹出窗口内使用 UIActionSheet 样式的alertController 时,弹出窗口大小会发生变化。这是在我们升级代码库 iOS13 后发生的 示例代码:https:/
收到此错误 2017-07-28 20:17:34.636 App[78013:1799389] *** Terminating app due to uncaught exception 'NSIn
我正在将我的应用程序从 Obj-C 转换为 Swift。 我有 UICollectionViewLayout 的子类,它覆盖了已重命名为“prepare”的“prepareForLayout”。到目前
我有 UITableView 和 UITableViewCell,其中包含 UICollectionView,如下: UITableViewCell UITableViewCell UICollect
我在 View 中有一个 UITextField 和一个 UITextView。 场景是这样的: textFieldShouldReturn:UITextField 的方法使 UITextView 成
我正在双击 UIScrollView 中缩放 UIImageView。在 Interface Builder 中设置后工作正常。我在这里看到的神奇之处在于,当我放大/缩小时,scrollView 的
我的 UIViewController 中有 4 个 UIViews,颜色分别为:黄色、绿色、灰色和蓝色。 我还给出了以下自动布局约束: 黄色 View :Top-8-superview, Leadi
我有一个只能水平滚动的 UIScrollView。 ScrollView 固定在屏幕底部。我已将自动布局约束设置为固定高度。我将 contentSize 设置为固定大小。 但是,当我运行该应用程序时,
我有一个 UITableView,它在 UITableView 第一次重新加载后添加了一些数据,但是我无法向下滚动到新数据,如果我滚动我看到了新数据,但它会自动向后滚动,是的,我重新加载了我的 UIT
所以我的 scrollView 的 contentSize 最初等于我的图像的框架,但似乎我缩放得越多,contentSize 就越大。因此,当 scrollView 放大时,它周围有一个巨大的间隙。
为什么 UIScrollView 实例会在委托(delegate) scrollViewDidEndZooming:(UIScrollView *) aScrollView withView:(UIV
我对 UIScrollView 中的 contentSize 属性有点困惑。我的 scrollView 中有一张图像,我正在缩放和平移。我一直在为 contentSize 设置不同的值,但在我看来,输
在我的 View 中,我创建了一个宽度为 320、高度为 70 的 ScrollView 。 响应用户触摸按钮,我展开 ScrollView ,因此它的大小为 380(h) x 320(w)。 代码如
我是一名优秀的程序员,十分优秀!