2013-07-26 42 views
1

我正在使用UIWebView來顯示存儲在本地磁盤上的gif動畫,因爲UIImageView無法使用gif格式。這是我是如何做到的:iOS:在UIWebView中縮放適合或填充本地圖像?

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

我從here找到解決方案。

現在的問題是圖像的位置。請參閱下面的屏幕截圖。 UIWebView框架是(20,20,280,280)。但該圖像位於左上角,其內容大小。

如何使這個圖像縮放比例適合UIWebView框架?我試過「scalesPageToFit = YES」和「contentMode = UIViewContentModeScaleAspectFit」,不起作用。也許在html中指定一些東西?請幫忙。

enter image description here

回答

1

其實,有在imageview的使用GIF動畫的幾種方法,我認爲它比使用網頁視圖只是爲了這個目的好多了。

我personnaly使用SDWebImage,可以很容易地使用可可豆莢。看到這一點:https://github.com/rs/SDWebImage

integreted 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選擇圖像並編輯它的高度和寬度屬性。您可以通過下面的函數運行網頁視圖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'"]; 
我實際使用SDWebImage緩存現在
+0

!不知道它suporrts gif。感謝您指出了這一點。 –