这是我成功使用 SDWebImageManager 下载图像的方式:

- (void) downloadThumbnails:(NSURL *) finalUrl
{
    SDWebImageManager *manager = [SDWebImageManager sharedManager];
    [manager downloadWithURL:finalUrl
                     options:0
                    progress:nil
                   completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) {

                       if (image)
                       {
                           self.thumbnailURL = [finalUrl absoluteString];
                        }
                   }];
}

- (UIImage*)thumbnail {

    if (!self.thumbnailURL) return nil;
    return [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:self.thumbnailURL];
}

我如何修改以获得交叉淡入淡出效果?交叉淡入淡出效果是一种使图像显示过渡缓慢的效果,就像 TechCrunch iOS 应用程序一样。谢谢!

更新: 如果我可以做任何其他事情来在 uitableview 单元格中产生交叉淡入淡出效果(SDWebImage 除外),那么您可以在答案中写入它。

更新: 在上次更新后我收到的答案很少,我能够部分解决问题。在下面的答案中使用transitionWithView,它正在以我想要的方式工作并交叉淡入淡出但是因为我使用的是tableivew Controller ,当它接触底部时加载更多条目,它在新条目块之前刷新所有单元格一次加载,我怎样才能防止这种行为?

最佳答案

看起来您在不同的文件中使用 SDWebImageManager,该文件不一定是 UITableViewController 类。如果它在不同的类中,您可以直接使用 transitionWithView 但不能直接使用 SDWebImageManager 。

但是在您使用 cellForRowAtIndexPath 并将图像与 UITableViewCell 的 imageView 链接的表 View Controller 类中,您可以使用 transitionView 如下:

[UIView transitionWithView:cell.(Your Image View)
                          duration:0.5
                           options:UIViewAnimationOptionTransitionCrossDissolve
                        animations:^{

                            cell.(Your ImageView).image = [(how ever you are calling it)];


                        } completion:^(BOOL finished) {
                            //  Optionally you can do anything after the completion
                        }];

希望这可以帮助!

关于iOS SDWebImage 淡入淡出效果 UITableViewCell,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17924381/

10-12 03:09