iPhone gif再生原理とソースコード(例)


前にiphoneのgifをして放送して、多くのブログを検索して、いくつかの方法があります
1)GIfを解析し,UIimageViewのanimationImageを用いてアニメーションを設定するのが原理である.このコードを書くのは牛人です.
2)UIWebViewでGIfを再生する
   [self.unreadWebView setOpaque:NO];
        [self.unreadWebView setBackgroundColor:[UIColor clearColor]];
    NSString* gifFileName = @"alert.gif";
        NSMutableString* htmlStr = [NSMutableString string];
        [htmlStr appendString:@"<img src=\""];
        [htmlStr appendFormat:@"%@",gifFileName];
        [htmlStr appendString:@"\" alt=\"picture\"/>"];
        [self.unreadWebView loadHTMLString:htmlStr baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

3)Openglを利用して実現する.http://www.cocoachina.com/iphonedev/sdk/2010/0416/1084.html
4)iphoneが持っているCGImageSource関連手法を利用して実現
以上の方法1,3は多くのGIF再生に対してサポートが悪く、特にそのようなGIFフレーム間に依存関係(あるいは圧縮された)があり、再生が不完全で、2つ目は使ったことがなく、1回しか再生できず、ループできないと言われています.
だから4つ目を選びました.ネットワーク上にはオープンソースGifViewがありますが、このコードはあまりよくありません.特にプリロード画像がある場合は、自動的に再生されます.私はいくつかの変更をしました.
ソース:メールアドレスに連絡してください[email protected]