Ios UIPopover中的UIWebView-报告大小

Ios UIPopover中的UIWebView-报告大小,ios,uiwebview,uipopovercontroller,Ios,Uiwebview,Uipopovercontroller,我正在iOS应用程序中的UIPopoverController中显示UIWebView iPad报告说它的窗口大小是980x1532。因此,当我加载一个外部页面时,它会加载并呈现980px宽的页面 我正在访问此webview中的外部网站,因此无法修改服务器上的任何代码 有没有办法设置它以便iPad UIWebView报告popover的大小(320x480)?问题可能出在HTML中。页面设置了content=“width=device width”,将uiWebView内容大小设置为设备大小与视

我正在iOS应用程序中的UIPopoverController中显示UIWebView

iPad报告说它的窗口大小是980x1532。因此,当我加载一个外部页面时,它会加载并呈现980px宽的页面

我正在访问此webview中的外部网站,因此无法修改服务器上的任何代码


有没有办法设置它以便iPad UIWebView报告popover的大小(320x480)?

问题可能出在HTML中。页面设置了content=“width=device width”,将uiWebView内容大小设置为设备大小与视图大小之比

查看此问题的第二个答案

它解决了我的问题代码如下

- (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;
-(void)webViewDidFinishLoad:(UIWebView*)一个视图{
if(aWebView.frame.size.width

}

为什么需要UIWebView报告该大小?你是想把府绸改成这个尺寸吗?对。该网站有响应js/css,如果在320x480窗口中呈现,对我的用户来说会更好。那么你只需要在创建时设置你的popover大小,而不是依赖web视图。嗨,克里斯,我不确定你的意思是什么?我目前使用
self.contentSizeForViewInPopover=CGSizeMake(320480)设置popover大小视图中的code>将出现
。然而,webview告诉网站它是980x1532。有没有更好的地方来设置popover的大小?因此,
UIWebView
正在调整popover本身的大小??我想一些代码可以帮助我理解。很多很多很多很多的谷歌搜索和尝试:D我希望这个答案被接受:)