0

我的网站在 iPhone 2G、3G 和 4S 纵向模式下的宽度设置为 460 像素。但是在水平模式下看起来并不好。我会说它应该有两倍的像素。

我当前的视口标签如下所示:

<meta name="viewport" content="user-scalable=yes, width=460" /> 

我想要纵向模式下的 460 像素。
我想要横向模式下的 800 像素。

这是 Apple 的文档,但未提及水平模式:https ://developer.apple.com/library/IOs/#documentation/AppleApplications/Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html

4

1 回答 1

1

您是否尝试过使用恒定的“设备宽度”?

http://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariHTMLRef/Articles/MetaTags.html

我还使用以下技术在页面加载后修改元标记。当设备在纵向和横向之间切换时,您可能会对其进行调整以修改元标记:

NSString* js = 
@"var img = document.getElementsByTagName( 'img' )[0];" \
"var c = 'width=' + img.width + ', height=' + img.height + ', user-scalable=yes, initial-scale=1.0, minimum-scale=0.5, maximum-scale=3.0';" \
"var h = document.createElement( 'head' ); " \
"var m = document.createElement( 'meta' ); " \
"m.setAttribute( 'name', 'viewport' ); " \
"m.setAttribute( 'content', c ); " \
"h.appendChild( m ); " \
"var html = document.getElementsByTagName( 'html' )[0];" \
"var body = document.getElementsByTagName( 'body' )[0];" \
"html.insertBefore( h, body ); " \
"";
[webView stringByEvaluatingJavaScriptFromString: js ];
于 2012-04-14T22:22:15.710 回答