iOS SDWebImage 淡入新图像

标签 ios image asynchronous fade sdwebimage

我一直在我的 iPhone 应用程序上使用 SDWebImage 来处理所有图像加载。我正在使用占位符图像,我想在新图像加载后交叉淡入淡出或淡入淡出。我正在使用成功 block 来设置图像,并且效果很好。无论我尝试什么,图像都不会淡入。我试过将动画代码发送回主线程,但这也无济于事。它只是立即加载...没有动画。

这是我的代码。有什么想法吗?

// load placeholder image
NSURL *url = ...
_imageView = [[UIImageView alloc] init];
[_imageView setImage:[UIImage imageNamed:@"loading.jpg"]];

// request image
SDWebImageManager *manager = [SDWebImageManager sharedManager];
[manager downloadWithURL:url
                delegate:self
                 options:0
                 success:^(UIImage *image) {

                     [UIView transitionWithView:_imageView
                                       duration:3.0
                                        options:UIViewAnimationOptionTransitionCrossDissolve
                                     animations:^{
                                         [_imageView setImage:image];
                                     } completion:NULL];

}
failure:nil];

最佳答案

您可以在动画 block 之前将 imageView.alpha 设置为 0,然后在动画 block 中让它动画回到 imageView.alpha = 1.0;

// load placeholder image
NSURL *url = ...
_imageView = [[UIImageView alloc] init];
[_imageView setImage:[UIImage imageNamed:@"loading.jpg"]];

// request image
SDWebImageManager *manager = [SDWebImageManager sharedManager];
[manager downloadWithURL:url
            delegate:self
             options:0
             success:^(UIImage *image, BOOL cached) {

                  imageView.alpha = 0.0;
                 [UIView transitionWithView:_imageView
                                   duration:3.0
                                    options:UIViewAnimationOptionTransitionCrossDissolve
                                 animations:^{
                                     [_imageView setImage:image];
                                      imageView.alpha = 1.0;
                                 } completion:NULL];

}
failure:nil];

关于iOS SDWebImage 淡入新图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11869390/

相关文章:

windows - 当我们在 Windows 中使用 docker 镜像和容器时,它存储在哪里?

c# - 并行或异步 ASP.NET Core C#

java - 异步迭代器

javascript - 使用模式弹出查看器显示目录中的 PHP 图像

ios - Sprite 套件场景 + 标签栏 Controller

ios - UIImageView cornerRadius 没有让它变圆

iphone - NSPredicate 仅过滤日期字段的 "year"部分

java - 在网络的 ImageView 中显示 .jpg

java - 玩!框架 1.2.4 : Is it possible to know parameters of a pending job (doJobWithResult)

ios - iOS消除了ViewController回调问题