如何根据另一个文件的下载进度淡入 UIImage

Posted

技术标签:

【中文标题】如何根据另一个文件的下载进度淡入 UIImage【英文标题】:How to fade in UIImage according to download progress of another file 【发布时间】:2015-11-05 18:35:07 【问题描述】:

我有一个UIImageView,我在里面设置了一个占位符图片,然后我想在最后逐步设置真实的图片,但是这个改变应该是根据下载另一个文件的进度。 (不是图片)

当文件为 10% 时,图像淡入 10%,然后淡入 20,直到 100% 与之前的图像交换。

我见过使用 CATransition 的代码,但我不知道在这种情况下如何使用它。

您可能需要检查此答案。 Transition from image to another

【问题讨论】:

您是否尝试根据下载百分比更改 alpha 值?你是怎么计算下载百分比的? 如果是以字节的形式下载图片,需要根据你的dwonload百分比顺序将bit转换成图片,然后将图片加载到imagview中 哦,你误会了。我正在下载另一个大文件,我有它的图像。我想淡入显示下载进度的图像。谢谢,我将尝试逐步设置 alpha。 【参考方案1】:

试试这样的:

在这里,我使用 NSTimer 每秒减少 alpha 值。您可以稍后将其替换为您自己的计时器,该计时器会随着下载进度而延迟。

-(void)viewDidAppear:(BOOL)animated

    [super viewDidAppear:animated];

    _count=1;  //downalod count

    NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:1.0
                                                      target:self
                                                    selector:@selector(handleTimer:)
                                                    userInfo:@"someString" repeats:YES];



- (void)handleTimer:(NSTimer*)theTimer 
     NSLog (@"Got the string: %@", (NSString*)[theTimer userInfo]);
    [self changeAlpha:_count];
    _count=_count-0.1;



-(void)changeAlpha:(float) num
            _imgView.alpha=num;


【讨论】:

好的。我去看看。

以上是关于如何根据另一个文件的下载进度淡入 UIImage的主要内容,如果未能解决你的问题,请参考以下文章

根据服务器进程完成显示进度条加载器

Android Java如何从服务中消除进度问题

如何过渡,例如淡入淡出,从一个视图控制器到另一个

[WinFrom]下载文件并显示进度条的实现代码

vue如何管理下载状态

如何实现人物闪白的游戏特效