我正在使用UIWebView来显示存储在本地磁盘上的gif动画,因为UIImageView不能与gif格式一起使用。我是这样做的:
[webView loadData:imageData MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];
我从here找到了解决方案。
现在的问题是图像的位置。请参阅下面的屏幕截图。 UIWebView框架是(20,20,280,280)。但图像位于左上方,其内容大小。
如何使此图像缩放以适合UIWebView框架?我试过“scalesPageToFit = YES”和“contentMode = UIViewContentModeScaleAspectFit”,不能正常工作。也许在html中指定一些东西?请帮忙。
答案 0 :(得分:1)
实际上,有几种方法可以在imageview中使用动画GIF,我认为它比仅仅为此目的使用webView要好得多。
我个人使用SDWebImage,可以很容易地与可可豆荚一起使用。请参阅:https://github.com/rs/SDWebImage
将SDWebImage集成到您的项目后,只需导入此标题:
#import "UIImage+GIF.h"
然后像这样设置gif图像:
self.imageView.image = [UIImage sd_animatedGIFNamed:@"loading"] //loading.gif it's a gif image inside the project bundle
如果您仍然坚持使用网页浏览,这是调整图片内部图片的唯一方法,那就是使用javascript。
使用javascript选择图像并编辑其高度和宽度属性。您可以使用以下函数在webView中运行javascript代码:
[self.webView stringByEvaluatingJavaScriptFromString:@"-javascript code here-"];
所以,在你的情况下,它将是这样的:
[self.webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('img')[0].style.width = '280px'"];
[self.webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('img')[0].style.height = '280px'"];