在 uipopover 中加载 uiwebview
Posted
技术标签:
【中文标题】在 uipopover 中加载 uiwebview【英文标题】:load uiwebview in uipopover 【发布时间】:2012-05-28 20:47:11 【问题描述】:在我的应用中,每次用户点击一个 url 时,都会弹出一个 uipopover 来显示该网站。 问题是弹出框只有 320x480,但 uiwebview 与 iPad 视图一样大。
如何让 uiwebview 以更小的视图加载网站。
谢谢。 这是我的代码的一部分:
- (IBAction)openWeb:(id)sender
ShowWebOnBrowserViewController *swobvc = [self.storyboard instantiateViewControllerWithIdentifier:@"WebView"];
swobvc.title = self.companyName.text;
swobvc.companyWebURL = self.web.titleLabel.text;
swobvc.companyWebView.scalesPageToFit = YES;
swobvc.companyWebView.scrollView.contentSize = CGSizeMake(320,480);
swobvc.companyWebView.scrollView.frame = CGRectMake(0, 0, 320, 480);
swobvc.companyWebView.frame = CGRectMake(0, 0, 320, 480);
popOverController = [[UIPopoverController alloc] initWithContentViewController:swobvc];
popOverController.popoverContentSize = CGSizeMake(320, 480);
[popOverController presentPopoverFromRect:[((UIButton*)sender) bounds] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
//in popover class
-(IBAction)loadURL:(id)sender
NSString* webText = self.companyWebURL;
webText = [webText stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
NSURL *webURL = [NSURL URLWithString:webText];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:webURL];
[self.companyWebView loadRequest:requestObj];
self.companyWebView.scalesPageToFit = YES;
【问题讨论】:
【参考方案1】:在openWeb方法中,设置companyWebView的frame,然后再展示popOver。此外,请确保 scalesPageToFit 也设置为 YES(默认为 NO)。
//...cut...
popOverController.companyWebView.scalesPageToFit = YES;
popOverController.companyWebView.scrollView.contentSize = CGSizeMake(320,480);
popOverController.companyWebView.frame = CGRectMake(popOverController.companyWebView.frame.origin.x, popOverController.companyWebView.frame.origin.y, 320, 480);
//...cut...
您可以控制网站内容吗?尝试添加一个元标记来设置视口,例如:
【讨论】:
你能发一张它在模拟器中的截图吗? 另外,像我在答案中添加的那样,在 webview 的 scrollView 属性上设置 contentSize。 再次感谢,但也没有用。我也添加了一张图片。以上是关于在 uipopover 中加载 uiwebview的主要内容,如果未能解决你的问题,请参考以下文章
Swift 2 - 无法在单独的 ViewController 中加载 UIWebView
在 UIWebview 中加载 Javascript+Html 内容
在 UITableViewCell 中加载 UIWebView 并根据 UIWebview 的内容制作 UITabViewCell 的高度