animationGIF不适用于iPhone

我正在使用cell.image = an animated gif file (单元格是UITableViewCell )。 但是,它不生动。 有什么办法可以解决吗?

UIImageView提供了必要的API来产生你自己的animation,像这样:

 UIImage *frame1 = [UIImage imageNamed:@"frame1.png"]; UIImage *frame2 = [UIImage imageNamed:@"frame2.png"]; UIImage *frame3 = [UIImage imageNamed:@"frame3.png"]; UIImage *frame4 = [UIImage imageNamed:@"frame4.png"]; UIImageView.animationImages = [[NSArray alloc] initWithObjects:frame1, frame2, frame3, frame4, nil]; UIImageView.animationDuration = 1.0 //defaults is number of animation images * 1/30th of a second UIImageView.animationRepeatCount = 5; //default is 0, which repeats indefinitely [UIImageView startAnimating]; //[uiImageView stopAnimating]; 

在iPhone OS 3.0中,不再支持cell.image。 相反,单元格有一个imageView属性,这给了你更多的灵活性。 你可以将animationgif分割成不同的图像,然后这样做:

 anImageView *UIImageView = [[UIImageView alloc] init]; anImageView.animationImages = imagesArray; //this is an array of UIImages you have to create 

只有UIWebView支持显示animationGIF文件。

你能看到下面的代码,我希望它会对你有所帮助…

1.删​​除cellforatindexpath中的animation代码

2.细胞显示时进行animation处理

3.隐藏单元格时停止animation

4.将提高应用程序的性能

5.节省更多的内存

  -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{ NSArray *myImageArray = [NSArray arrayWithObjects: [UIImage imageNamed:@"image1.png"], [UIImage imageNamed:@"image2.png"], [UIImage imageNamed:@"image3.png"], [UIImage imageNamed:@"image4.png"], [UIImage imageNamed:@"image5.png"],nil]; [cell.imageView setAnimationImages:myImageArray]; cell.imageView.animationDuration = 4.0; cell.imageView.animationRepeatCount = 1; [cell.imageView startAnimating]; } -(void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{ [cell.imageView stopAnimating]; [cell.layer removeAllAnimations]; } 

你唯一的select是编写自己的视图呈现GIF机制或等待苹果来解决它。