从自动放大停止WebView

时间:2015-12-12 04:07:50

标签: ios uiwebview

我有一个webView,当内容最初加载时,它看起来很完美并且非常适合但是一旦完成加载就会自动缩放。有没有办法阻止它?我尝试了比我在这里发布的组合更多的组合。

非常感谢。

我使用的代码非常简单:

NSString *urlString = @"some_url";
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
[cell.webView loadRequest:request];

1 个答案:

答案 0 :(得分:0)

这是你做的事情:

在拥有网络视图的UI控制器中,将其设为UIWebViewDelegate。然后在您设置要加载的URL的位置,将委托设置为控制器:

NSString *urlAddress = @"http://dl.dropbox.com/u/50941418/2-build.html";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];  
webView.delegate = self;

最后实现webViewDidFinishLoad:以正确设置缩放级别:

此选项适用于iOS 5.0和>

- (void)webViewDidFinishLoad:(UIWebView *)theWebView{
CGSize contentSize = theWebView.scrollView.contentSize;
CGSize viewSize = theWebView.bounds.size;
float rw = viewSize.width / contentSize.width;
 theWebView.scrollView.minimumZoomScale = rw;
theWebView.scrollView.maximumZoomScale = rw;
  theWebView.scrollView.zoomScale = rw;  
}

我希望这会有所帮助......

选项B,你可以尝试改变HTML(这个例子完成了工作,但从HTML解析的角度来看并不完美。我只是想说明我的观点。它确实适用于你的例子,可能大多数情况。可能会以编程方式检测到40的插图,我没有尝试研究它。

NSString *urlAddress = @"http://dl.dropbox.com/u/50941418/2-build.html";
NSURL *url = [NSURL URLWithString:urlAddress];
NSString *html = [NSString stringWithContentsOfURL:url encoding:[NSString defaultCStringEncoding] error:nil];
NSRange range = [html rangeOfString:@"<body"];
if(range.location != NSNotFound) {
// Adjust style for mobile
float inset = 40;
 NSString *style = [NSString stringWithFormat:@"<style>div {max-width: %fpx;}</style>", self.view.bounds.size.width - inset];
html = [NSString stringWithFormat:@"%@%@%@", [html substringToIndex:range.location], style, [html substringFromIndex:range.location]];
}
[webView loadHTMLString:html baseURL:url];