1

我正在使用 UIWebView 来显示存储在本地磁盘上的 gif 动画,因为 UIImageView 不适用于 gif 格式。这是我的做法:

[webView loadData:imageData MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];

我从这里找到了解决方案。

现在的问题是图像的位置。请参阅下面的屏幕截图。UIWebView 框架为 (20, 20, 280, 280)。但是图像位于左上角,其内容大小。

如何使此图像缩放以适合 UIWebView 框架?我试过“scalesPageToFit = YES”和“contentMode = UIViewContentModeScaleAspectFit”,但没有用。也许在html中指定一些东西?请帮忙。

在此处输入图像描述

4

1 回答 1

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

如果您仍然坚持使用 webview,这是在其中调整图像大小的唯一方法,那就是使用 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'"];
于 2013-07-26T11:32:35.493 回答