我在 iOS 应用程序的 UIPopoverController 中显示 UIWebView。
iPad 报告其窗口大小为 980x1532。因此,当我加载外部页面时,它会加载并呈现 980 像素宽。
我在这个 webview 中访问了一个外部网站,所以我不能从服务器修改任何代码。
有没有办法设置它,以便 iPad UIWebView 将报告弹出框的大小(320x480)?
我在 iOS 应用程序的 UIPopoverController 中显示 UIWebView。
iPad 报告其窗口大小为 980x1532。因此,当我加载外部页面时,它会加载并呈现 980 像素宽。
我在这个 webview 中访问了一个外部网站,所以我不能从服务器修改任何代码。
有没有办法设置它,以便 iPad UIWebView 将报告弹出框的大小(320x480)?
问题可能出在 HTML 中。该页面设置了 content="width=device-width" ,它将 uiWebView 内容大小设置为设备大小与视图大小。
结帐此问题的第二个答案,在 UIPopoverController 内的 UIWebView 中显示 Wiki 移动页面
它解决了我的问题代码如下
- (void)webViewDidFinishLoad:(UIWebView *)aWebView {
if(aWebView.frame.size.width < aWebView.window.frame.size.width) {
// width=device-width results in a wrong viewport dimension for webpages displayed in a popover
NSString *jsCmd = @"var viewport = document.querySelector('meta[name=viewport]');";
jsCmd = [jsCmd stringByAppendingFormat:@"viewport.setAttribute('content', 'width=%i, initial-scale=1.0, user-scalable=1');", (NSUInteger)aWebView.frame.size.width];
[aWebView stringByEvaluatingJavaScriptFromString:jsCmd];
}
// stop network indicator
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}