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

时间:2012-09-23 00:23:37

标签: ios uiwebview retina-display

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

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

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

更新:我看的越多,我认为它就越受限于画布。

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

1 个答案:

答案 0 :(得分:1)

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