html - 在 UIWebView 中缩放 .htm 文件

标签 html ios swift uiwebview

我在使用 UIWebViews 时遇到了一些问题。我有一个很大的 PDF(96 页),需要将其加载到 UIWebView 中,应该能够滚动到其中的某个部分,并在其文本中进行搜索。所以我认为将其转换为 .htm 是一个更好的解决方案。现在我的问题是,在每个 iPhone 尺寸上,html 只显示在屏幕的一半上,我认为这是因为转换器对其做了一些处理。 enter image description here

现在的文字是这样的。我该如何解决这个问题?有什么办法可以缩放内容吗?

感谢任何帮助,谢谢!

最佳答案

理想的解决方案是在 HTML 文档中使用 CSS 来修复此问题。但是,因为我不知道您的 HTML 代码是什么样子,所以这里是一个解决方案,如何从“外部”缩放 HTML 页面:

最明显的解决方案是在 UIWebView.scrollView 上设置缩放:

webview.scrollView.maximumZoomScale = 2
webview.scrollView.zoomScale = 2

但是这个解决方案有一个很大的缺点:文本变得模糊,因为它只是简单地缩放并且没有以更大的尺寸呈现。所以这行不通。

但是,如果直接在 HTML 文档中进行缩放,文本将以更大的尺寸呈现并保持清晰。另一方面,使用此方法图像会变得模糊。但根据您的屏幕截图,您的 HTML 中没有图像,因此这可能适合您。

UIWebView 上的委托(delegate)设置到您的 ViewController 并实现以下委托(delegate)方法:

func webViewDidFinishLoad(webView: UIWebView) {
    webView.stringByEvaluatingJavaScriptFromString("document.body.style.zoom = 2.0")
}

这会将 HTML 文档缩放 2.0 倍。您可能必须根据您的需要调整该因素。

关于html - 在 UIWebView 中缩放 .htm 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33832128/

相关文章:

ios - 是什么原因导致这种情况发生? NSUserDefaults 无法在 watchkit 项目中的 IOS 和 Watch 之间共享数据

ios - SWIFT - table.reloadData() 没有/停止工作

javascript - 如何在 php 变量中存储 javascript 函数值

javascript - 切换一个 div 在点击时显示,同时切换另一个 div 隐藏

css - 设置DIV显示:block on A:hover Trigger (using only CSS)

ios - APNS Firebase 通知无法获取 token

ios - 在两个静态 UITableViewCell 之间插入带有 UIPickerView 的行时出现 NSRangeException

javascript - 在页面加载时重新加载 gif 图像

ios - UIImageView/UIView 的自动布局纵横比

ios - 在同一iOS设备中的不同应用之间共享数据