0

在我的应用程序中,每次用户点击一个 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;

}

在此处输入图像描述

4

1 回答 1

0

在 openWeb 方法中,在显示 popOver 之前设置 companyWebView 的框架。此外,确保 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...

您对网站内容有控制权吗?尝试添加一个元标记来设置视口,例如:

于 2012-05-28T21:08:50.753 回答