我在iOS應用程序的UIPopoverController中顯示UIWebView。UIPopover中的UIWebView - 報告大小
iPad報告它的窗口大小爲980x1532。因此,當我加載一個外部頁面時,它加載並渲染980像素寬。
我打這個webview的外部網站,所以我不能修改任何代碼從服務器。
是否有方法設置它,以便iPad UIWebView將報告彈出窗口的大小(320x480)?
我在iOS應用程序的UIPopoverController中顯示UIWebView。UIPopover中的UIWebView - 報告大小
iPad報告它的窗口大小爲980x1532。因此,當我加載一個外部頁面時,它加載並渲染980像素寬。
我打這個webview的外部網站,所以我不能修改任何代碼從服務器。
是否有方法設置它,以便iPad UIWebView將報告彈出窗口的大小(320x480)?
問題可能出現在HTML中。該頁面具有content =「width = device-width」集合,它將uiWebView內容大小設置爲設備大小與視圖大小。
結帳第二這個問題的答案displaying Wiki mobile page in UIWebView within UIPopoverController
它固定我的問題的代碼如下
- (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;
}
謝謝 - 作品! –
太棒了!我想知道你是怎麼想出這個解決方案的。 –
很多很多很多的谷歌搜索和嘗試的東西:D我希望這個答案被接受:) –
爲什麼你需要一個UIWebView到大小報告?你是否試圖強制popover達到這個尺寸? –
正確。該網站具有響應js/css,並且如果它在320x480窗口中呈現,對我的用戶來說會更好。 –
然後,您應該只需要在創建時設置彈出窗口大小,而不是依靠Web視圖來完成此操作。 –