如何在iOS中的webView中设置内容?

时间:2015-07-01 12:37:39

标签: ios webview

我有UIWebView。我从服务器检索一些内容,如:图像,表单,音频,视频等。我希望所有内容都适合Web视图。无需滚动Web视图。如果用户缩放Web视图,那么它将是可滚动的。

我的代码如下:

self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(12, 66, SCREEN_WIDTH - 24, SCREEN_HEIGHT - 126)];
self.webView.userInteractionEnabled = YES;
self.webView.backgroundColor = [UIColor clearColor];
self.webView.scalesPageToFit = TRUE;
self.webView.delegate = self;
self.webView.contentMode = UIViewContentModeScaleAspectFit;
[self.view addSubview: self.webView];

如何解决此问题。我已经用谷歌搜索了这个。但SO中的所有答案都是

self.webView.scalesPageToFit = TRUE;

但它不起作用。

但我不需要它可滚动或滚动条。我可以隐藏滚动条,但不知道如何自动调整到webview。

2 个答案:

答案 0 :(得分:1)

您需要设置UIWebView的委托,一旦完成webview的加载,就会设置内容的宽度。

NSString *urlAddress = @"http://facebook.com";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[yourWebView loadRequest:requestObj];  
yourWebView.delegate = self;

UIWebView的委托方法

- (void)webViewDidFinishLoad:(UIWebView *)webview
{
  CGSize contentSize = theWebView.scrollView.contentSize;
  CGSize viewSize = self.view.bounds.size;

  float rw = viewSize.width / contentSize.width;

  webview.scrollView.minimumZoomScale = rw;
  webview.scrollView.maximumZoomScale = rw;
  webview.scrollView.zoomScale = rw;  
}

或者需要将以下代码添加到html head部分

<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.5; user-scalable=YES"/>

提供您的信息

IOS上没有。文档说使用是/否。我认为在这种情况下案件很重要。在obj-c中,值为YES / NO和1/0

答案 1 :(得分:1)

第一个选项是在HTML页面中编写以下标记。

<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.5; user-scalable=YES;" name="viewport" />

第二个选项是

- (void)webViewDidFinishLoad:(UIWebView *)theWebView
    {
      CGSize contentSize = theWebView.scrollView.contentSize;
      CGSize viewSize = self.view.bounds.size;

      float zoomingSize = viewSize.width / contentSize.width;

      theWebView.scrollView.minimumZoomScale = zoomingSize;
      theWebView.scrollView.maximumZoomScale = zoomingSize;
      theWebView.scrollView.zoomScale = zoomingSize;  
    }

我希望它会帮助你