2014-02-20 6 views
2

PFImageView에 대해 진행보기 막대를 설정하는 방법을 알고 있습니까? (Parse.com)에서 PFFile을 다운로드하고 있습니까? 그렇게하는 방법에 대한 자습서를 찾을 수 없습니다. (나는 이미지를로드하고있어 사용자가 기다릴 시간을 알기를 원하기 때문에 활동 표시기를 설정하고 싶지 않습니다.)PFImageView 내에서 PFFile 다운로드 진행 상황을 어떻게 표시합니까?

감사합니다.

답변

5

PFImageView 메소드는 매우 제한적이므로 완료 블록의 유무에 관계없이 loadInBackground를 사용할 수 있습니다. 이 메소드들 중 어느 것도 progressBlock을 사용할 수 없습니다.

해결 방법은 PFImageView에 PFFile을 할당하지 말고 대신 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을 추가 할 것입니다!

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