iOS webview缩放以匹配视网膜显示

Posted

技术标签:

【中文标题】iOS webview缩放以匹配视网膜显示【英文标题】:iOS webview scaling to match retina display 【发布时间】:2012-09-23 00:23:37 【问题描述】:

我正在使用全屏 UIWebView 在 ios 下容纳/呈现 html5 应用程序。非常像 Cordova/phonegap,虽然我没有使用它们。我尝试使我的 webview 大小与底层显示相匹配。不幸的是,在视网膜显示器上,self.view.bounds 返回的值依赖于 UIScreen 缩放因子。所以我得到 1024x768 而不是 2048x1536。不是一个大问题,除非我使用较小的边界(在调整状态栏之后)实例化 UIWebView,并且有些事情变得有点锯齿。特别是,我在几个点上使用了画布,并且圆形边框看起来很厚。需要明确的是,这不是缩放栅格资源的情况。

我没有使用该 UIWebView 获得屏幕的完整分辨率。理想情况下,我想将屏幕比例设置为 1.0,但这似乎不受支持。有关如何最好地充分利用屏幕的任何建议?

这个问题在 iPhone 5 模拟器上最为明显。我没有要测试的硬件。 iPad/新 iPad 我认为有问题,但锯齿不那么明显。

更新:我越看这个,我就越认为它可能仅限于画布。

解决方案:以防其他人到达这里。根据下面的答案,我创建了所有宽度和高度乘以 window.devicePixelRatio 的画布元素,然后将它们的样式属性设置为具有原始(与设备无关)大小。

【问题讨论】:

【参考方案1】:

见https://***.com/a/7736803/341994。基本上你需要检测到你有双倍分辨率并有效地加倍画布的分辨率。

【讨论】:

谢谢。现在尝试一下,情况看起来好多了。

以上是关于iOS webview缩放以匹配视网膜显示的主要内容,如果未能解决你的问题,请参考以下文章

Android开发:关于WebView

Android开发:关于WebView

以编程方式在iOS上滚动UIWebView

通过 webview 显示的 Android 本地图像模糊

微妙的图案背景iOS png文件

对于配备 Retina 显示屏的 Mac Book Pro,Android 模拟器无法缩放到 100%