2014-02-20 40 views

回答

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就足夠了。 也許有一天,解析團隊會將progressBlock添加到他們的PFFile方法中!

+0

非常感謝你對你的時間!對此,我真的非常感激! – adriennemhenry

+0

不客氣!我花了一點時間去適應Parse iOS SDK,現在我盡力在這裏幫助人們。 –

+0

非常好,謝謝! – adriennemhenry

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 
       } 
      }