在iphone应用程序中我有一个webview,其中我想预览从互联网下载的一些图像,我的问题是一些图像不被视为适合webview的框架,但大多数情况下。我认为这是因为这些图像太大了。难道我做错了什么?请帮忙
我想要的只是在webview中加载图片以适应webview的框架。您可以提供一些其他代码,但需要关注webview而不是imageview。
这是我正在使用的代码。
self.documentData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.folio3.com/corp/wp-content/uploads/2013/02/Entrance_A-3.jpg"]];
self.webView.scalesPageToFit = YES;
[self.webView loadData:self.documentData MIMEType:@"image/jpeg" textEncodingName:@"utf-8" baseURL:nil];
此处是输出的屏幕截图(清楚地显示滚动指示符i-e图像不适合webview的框架)
答案 0 :(得分:4)
首先检查并设置UIWebView
中viewDidLoad:
的框架,如下所示..
webView.frame = self.view.frame;
使用此Delegate方法并将scalesPageToFit
属性设置为bellow ..
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
webView.scalesPageToFit = YES;//set here
return YES;
}
答案 1 :(得分:1)
此解决方案建立在Ammar Hasan的答案之上。而不是原来......
NSData *data = [NSData dataWithContentsOfURL:imageURL];
[self.webView loadData:data MIMEType:@"image/jpeg" textEncodingName:@"utf-8" baseURL:nil];
......你可以这样做:
NSString *photoWrapper = [NSString stringWithFormat:@"\
<html>\n\
<head>\n\
<meta name=\"viewport\" content=\"width=device-width\" />\n\
<style type=\"text/css\">\n\
body {\n\
margin: 0;\n\
padding: 0;\n\
}\n\
img {\n\
width: 100%%;\n\
}\n\
</style>\n\
</head>\n\
<body>\n\
<img src=\"%@\" />\n\
</body>\n\
</html>\
", URL];
[self.documentView loadHTMLString:photoWrapper baseURL:nil];
现在,即使Web视图的宽度小于图像宽度的一半,图像也会缩放到Web视图的宽度,这似乎是UIWebView强加的限制。图像仍然可以由用户缩放,我想要的。您可以通过将minimum-scale
和maximum-scale
添加到视口元标记来覆盖它。
答案 2 :(得分:0)
尝试将html内容用于WebView,如下面的代码
<html>
<head>
<title>Title</title>
</head>
<body style='margin:0px; padding:0px;'>
<img src='<your_image_url>'
style='max-width:320px; max-height:460px;'
alt='Your_Image_Name'/>
</body>
</html>
要重新调整图像大小,请使用CSS(级联样式表)样式,在图像样式属性中使用这些样式属性
最大宽度,最小宽度,宽度,最大高度,最小高度&amp;高度强>