【发布时间】:2012-08-30 09:45:56
【问题描述】:
我有一个关于在 iPad 上显示的 iPhone 应用程序(不是通用 iPhone/iPad)中的 UIWebView 的问题。有一些方法可以将应用程序视为 iPhone 视网膜应用程序 (960x640),但是我无法找到在 iPad 上以与在 iPhone 上显示相同的方式显示 UIWebView 的方式。整个视图和字体都是模糊的,因为 UIWebView 认为它不是视网膜显示。
有没有办法让它认为它是视网膜显示并渲染 960x640 而不是 480x320 放大?
UIWebView contentScaleFactor 属性没有改变任何东西。该网站在 iPhone 4 上完美运行,具有正确的字体和视网膜图像。如果我将 UIWebView 框架设置为 (0, 0, 960, 640) 并按比例缩小,那么网站上的所有内容也会按比例缩小,所以我认为这不是正确的方式。
编辑: 作为内容,我正在加载一个本地站点,该站点完美地显示在 iPhone/iPhone(视网膜)上:
html 的正文部分:
(...)
<body>
<h1>Header</h1>
<p>Some paragraphs</p>
<img src="image.png" width=250px height=200px/>
</body>
(...)
样式.css:
body
{
width:400px;
height:100%;
}
编辑2: 这是我得到的screenshot 的链接 - 在 iPad 上,iPhone 视网膜 UIWebView 像在 iPhone 上一样显示并放大了两次,导致结果模糊。
【问题讨论】:
-
你在 webview 上加载了什么?
-
@jcesar 我正在加载一个本地网站,该网站的大小和位置适合 iPhone/iPhone 视网膜。
-
不明白你是想模拟还是使用iPad Retina显示屏。
-
再说一次:我有一个 iPhone 应用程序,可以在 iPad1/iPad2 上运行。当您在 iPad 上运行 iPhone 应用程序时,它会在 480x320 窗口中运行。您可以将其最大化为 960x640 窗口 - 在这种情况下,它应该被视为具有 960x640 分辨率的 iPhone Retina 应用程序。但是,UIWebView 检查 iPad 没有视网膜显示(这是真的)并加载帧 480x320 的内容,然后将其拉伸到看起来很糟糕的 960x640。问题是,如何强制 UIWebView 认为它在 iPhone 视网膜上运行。
标签: iphone ipad uiwebview uikit retina-display