1

我有一个通用应用程序。在 iPhone 版本中,我有一个视图控制器和 nib,它只加载一个带有由 jQueryMobile 标记组成的本地 html 文件的 UI webview。它按预期工作。

在 iPad 版本中,我将相同的视图加载到弹出视图控制器中,然后显示它。这行得通,但有一个烦人的异常。UIWebview 呈现内容,因此需要水平滚动才能看到所有内容,即使它不需要这样做。我将弹出视图的大小调整为 iPhone 视图的大小(320x480)。它不会渲染,因此 iPhone 中需要水平滚动。

有任何想法吗?

4

1 回答 1

5

我发现了问题。事实证明,iPad 的 iOS 中存在一个错误,它返回完整的设备宽度,而不是弹出窗口中的视图宽度。jQuery 具有使用设备宽度获取视口内容的默认行为。

我能够通过在 jquery 引用和 jquery 移动引用之间引用另一个 javascript 文件来覆盖默认的 jQuery 行为,并且该文件包含以下内容:

$(document).bind("mobileinit", function(){
    $.mobile.metaViewportContent = "width=320, minimum-scale=1, maximum-scale=1";
});

奇迹般有效!

于 2011-05-19T20:18:19.747 回答