9

我有一个表格视图,它使用来自 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(request) 来避免动画。

提前谢谢了。

4

1 回答 1

14

而不是 self.view 试试这个 cell.hotelImage 这将工作:)

 [UIView transitionWithView:cell.hotelImage
   duration:1.0f
   options:UIViewAnimationOptionTransitionCrossDissolve
   animations:^{[cell.hotelImage setImage:image];} 
 completion:NULL];
于 2012-12-24T23:30:26.873 回答