iPad上的iOS UIWebView窗口宽度和高度
Posted
技术标签:
【中文标题】iPad上的iOS UIWebView窗口宽度和高度【英文标题】:iOS UIWebView window width and height on iPad 【发布时间】:2012-04-17 20:11:02 【问题描述】:所以我正在创建一个全屏广告,该广告在一个未命名的应用程序的 UIWebView 内运行。基本上,我根本无法修改视口元标记,所以我的应用程序需要精确到 1023x767 才能全屏显示,并且不会在 web 视图中滚动。它在 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
有什么想法吗?任何人!? :-)
【问题讨论】:
如果你唯一的问题是滚动,为什么不在 webView 的 scrollView 上禁用滚动呢?然后,无论文档大小如何,都只会显示您的内容。 这不是我的应用程序。我只是在里面跑。 【参考方案1】:因此,通过更多研究,我无法使用 veiwport 元标记来建立 width=device-width 的原因是因为视口实际上设置为比设备宽度小 1px。然后,您将在该死像素区域的视口中滚动。该应用程序检测到左右滑动以在不同的 web 视图之间进行更改,因此您无法执行“e.preventDefault()”来禁用滚动,并且将其卡在 1px 的滚动中会破坏应用程序中的滑动功能。
长话短说,我能够做到:
viewport=(device-width-1) 并解决了这个问题。该应用程序的人们不知道这是可能的,我什至不确定这样的事情是否可能,但它做到了,所以仍然可以发生滑动,因为你没有陷入死角。
【讨论】:
以上是关于iPad上的iOS UIWebView窗口宽度和高度的主要内容,如果未能解决你的问题,请参考以下文章
通用 iOS 应用程序:详细视图控制器中的 UIWebView 不显示 iPad 部分的内容