延迟进度/活动指示

时间:2013-03-22 09:15:26

标签: ios grand-central-dispatch

暂时使用下面的代码为用户激活一些正在进行的操作指示(想下载一些文件......如果需要的时间超过一秒钟,我会显示UIActivityIndicatorView和`UIProgressView。问题是因为某些原因它适用于iPhone,但在iPad上不稳定。特别是当时间接近极限时。

        __block BOOL hasDownloads = YES;
        __weak typeof(self) weakSelf = self;

        double delayInSeconds = 1.0;
        dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
        dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
            if (hasDownloads) {
                [weakSelf progressInformationShow:YES];
            }
        });

在该代码之后,我在后台线程中使用完成处理程序启动文件下载。完成处理程序检查剩余的文件下载,并在上次下载完成时将hasDownloads标志设置为NO。

是否有更好的解决方案或代码错误?

EDIT 在垫上但在电话上调用了进度或完成块?!

0 个答案:

没有答案