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