如何在PFImageView中显示PFFile下载的进度

时间:2014-02-20 05:46:13

标签: ios progress-bar parse-platform progress uiprogressview

有人知道如何设置PFImageView的进度视图栏,即从(Parse.com)下载PFFile吗?我找不到任何有关如何操作的教程。 (我不想设置活动指示器,因为我正在加载图像,我希望用户知道他/她将等待多长时间。)

谢谢!

2 个答案:

答案 0 :(得分:5)

PFImageView方法非常有限,你可以使用loadInBackground,有或没有完成块。在这些方法中,没有一种方法可以使用progressBlock。

解决方法是不将PFFile分配给PFImageView,而是使用progressBlock参数使用方法加载它。

[myImageFile getDataInBackgroundWithBlock:^(NSData * result, NSError *error)
{ 
     if (result != nil && error == nil)
     {
          [myImageView setImage:[UIImage imageWithData:result]];
     }
     else
     {
          // handle the error
     }
 }
 progressBlock:^(int percentDone)
 {
     [progressView setProgress:(float)percentDone/100.0f];
 }];

这不像[myPFImageView loadInBackground]那么简单,但我看不到任何其他方法来获取进度指示器。请注意,在这种情况下不再需要使用PFImageView,简单的UIImageView就足够了。 也许有一天Parse团队会在他们的PFFile方法中添加progressBlock!

答案 1 :(得分:0)

我的解决方案:展示装载机。
在PFImageView的扩展中,使用以下代码显示加载器

let loader = UIActivityIndicatorView(frame: CGRectMake(self.frame.width/2 - 5, self.frame.height/2 - 5, 10, 10))
        loader.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
        loader.startAnimating()
        self.addSubview(loader)
loadInBackground{(image: UIImage?, error: NSError?) -> Void in
              loader.stopAnimating()
              if error == nil {
                self.image = image
              }
            }