iPad上的iOS UIWebView窗口宽度和高度

时间:2012-04-17 20:11:03

标签: html css ios ipad uiwebview

因此,我正在创建一个在未命名应用中的UIWebView内运行的全屏广告。基本上,我根本无法修改视口元标记,因此我的应用程序需要精确到1023x767才能全屏显示并且不会在webview上滚动。它可以在95%的时间内工作,除了一个触发奇怪错误的场景。如果我从横向开始,然后旋转到水平,我可以围绕webview滚动应用程序,就好像它比视口大。

在CSS中,我有:

@media only screen and (orientation: portrait) {
    html, body {
        width: 767px;
        height: 1023px;
        overflow:hidden;
        position:relative;
    }
}

@media only screen and (orientation:landscape) {
    html, body {
        width: 1023px;
        height: 767px;
        overflow:hidden;
        position:relative;
    }
}

我正在检测方向变化的事件,我得到了:

$('html').width() = 767
$('html').height() = 1023
$('body').width() = 767
$('body').height() = 1023

然而,我发现我也同时得到了这个,这显然是问题,但我无法弄清楚为什么或如何解决它:

$(window).width() = 1023
$(window).height() = 1365

有什么想法?任何人!? : - )

1 个答案:

答案 0 :(得分:1)

因此,通过更多的研究,我无法使用veiwport metatag建立width = device-width的原因是因为视口实际设置为比设备宽度小1px。然后,您将在该死像素区域中的视口中滚动。该应用程序检测左右滑动以在不同的Web视图之间进行更改,因此您无法执行“e.preventDefault()”来禁用滚动,并使其停留在1px的滚动状态,从而搞砸应用程序中的滑动功能。 / p>

长话短说,我能做到:

viewport =(device-width-1)并修复了问题。应用程序的人不知道这是可能的,我甚至不确定这样的事情是否可能,但它使得刷卡仍然可能发生,因为你没有卡在那个死区。