2

マイサイアーズ、マイダムズ

質問があります。これと何日も戦ってきました。これが私のシナリオです。

GIF画像へのリンクを含むHTTP応答があり、GIF画像はNSDataに変換され、後でImageViewに入力するために使用されます。予想通りか予想外か、GIF の最初のフレーム/トランジションのみが表示されます。簡単に言えば、画像はロードされますが、アニメーション化されません。

iPhoneにGIFのネイティブサポートがあるかどうか知りたいのですが、同様に拡張クラスを見つけましたSCGifExample これは、アプリ内でGIF画像をインポートする場合にのみ機能するように見えますが、画像がURIからのものである場合には機能しないようです->NSData.

サーバーとクライアントに多くの負荷がかかるため、複数の画像を作成してから画像の配列を作成したくありません。

SO で検索しましたが、実際のところ、自分の質問を投稿するのを止める実質的な結果は見つかりませんでした。ここでは、iphone + gif に関連する多くの質問が未回答のままになっていることがわかりました。

私には疑念があり、誰かがそれを理解して理解するのを手伝ってくれることを望んでいました. イメージから NSDATA 形式への変換中に、GIF アニメーション/トランジションが「失われた」と思われます。しかし、これを裏付ける具体的な証拠はありません。

画像を NSData に変換する方法は次のとおりです。

contentURI = http://gta.champion.com/content?cmsFileId=513af9e9-a96d-4a56-8239-92be273393e0&mt=image/gif //lets just assume that when view using the browser, this would display the image.

NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: contentURI]];

この苦境に打ち勝った誰かがいるなら、私がそのような偉業を克服するのを助けてください。

4

4 に答える 4

0

残念ながら、iOSはGIF画像をサポートしていません。また、アニメーションに使用することもできません。GIF画像を使用する場合、imageviewにはその画像の最初のフレームが表示されます。それ以上は表示されません。

サポートされている形式については、 UIImageを参照してください。

画像フォーマット

于 2013-01-08T04:06:08.257 に答える
0

iOS でアニメーション gif を表示することについて私が発見したことを参照してください。http://iosnotestoremember.blogspot.com/2013/01/showing-animated-gif-in-ios.html

これが役立つことを願っています。

于 2013-01-10T01:46:05.300 に答える
0

Apple の API はそのままではアニメーション GIF をサポートしていませんが、同様に効果的なユーザー作成のソリューションがあります。

LBGIFImage:
https://github.com/larcus94/LBGIFImage

于 2013-01-08T04:15:29.283 に答える
0

UIWebViewはい、別の方法がありますが、ケースによって異なります。ただし、1つの画像、つまり広告をアニメーション化する必要があるだけなので、解決した問題を使用してアイデアを共有させてください。

コード スニペットは次のとおりです。

UIWebView *webV = [[[UIWebView alloc]initWithFrame:appDel.isiPad==TRUE?CGRectMake(260, 35, 500, 100):CGRectMake(40, 18, 250, 60)] autorelease] ;
                webV.delegate =self;
                webV.multipleTouchEnabled=NO;
                [webV setBackgroundColor:[UIColor whiteColor]];
                webV.userInteractionEnabled=NO;
                [webV loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"YourImageUrl"]]];

そして、それらのデリゲート メソッドを実装します。

- (void)webViewDidStartLoad:(UIWebView *)webView;

- (void)webViewDidFinishLoad:(UIWebView *)webView;

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;
于 2013-01-08T04:50:53.327 に答える