AFNetworking - 在滚动UITableView时淡化图像上的动画

时间:2012-12-20 14:23:53

标签: uitableview uiimageview afnetworking uianimation

我有一个表视图,它使用来自AFNetworking的延迟加载和占位符图像来显示图像。我正试图在加载时尝试从占位符淡入图像。我的代码在这里工作,但是如果在滚动表格时加载图像,则一切看起来很奇怪,并且表格停止滚动。同样的事情发生在具有相同效果的水平滚动条上。

这是我在cellForRowAtIndexPath

中使用的代码
    [cell.hotelImage setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:hotelImageUrl]]
                  placeholderImage:[UIImage imageNamed:@"placeholder.png"]
                           success:^(NSURLRequest *request , NSHTTPURLResponse *response , UIImage *image ){

                               if (request) {
                                   //Fade animation
                                   [UIView transitionWithView:self.view
                                                     duration:1.0f
                                                      options:UIViewAnimationOptionTransitionCrossDissolve
                                                   animations:^{
                                                       [cell.hotelImage setImage:image];
                                                   } completion:NULL];

                               }


                           }
                           failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){

                           }
 ];

我正在使用if(请求)在图像进入缓存时避免动画。

非常感谢提前。

1 个答案:

答案 0 :(得分:14)

而不是self.view尝试这个cell.hotelImage 这将有效:)

 [UIView transitionWithView:cell.hotelImage
   duration:1.0f
   options:UIViewAnimationOptionTransitionCrossDissolve
   animations:^{[cell.hotelImage setImage:image];} 
 completion:NULL];