我有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。
答案 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;
}
我希望它会帮助你