与后面的微调器异步加载图像

时间:2011-08-22 18:06:34

标签: iphone objective-c

我看到许多应用程序都有一个异步加载图像的图像框架,而图像尚未加载,它会显示背面的微调器或默认图像。这样做是否有图书馆?如果是,那么它是什么?请不要三十二(我的经历很糟糕)。如果没有,那么你如何创建一个。

2 个答案:

答案 0 :(得分:4)

微调器名为UIActivityIndicatorView,它是UIView的子类,因此可以放在屏幕上的任何位置。

它有startAnimatingstopAnimating方法,可以开始和结束“旋转”。

因此,创建UIActivityIndi​​catorView,将其放在addSubview所需的位置,然后调用startAnimating(这就像UI活动一样,必须在主线程上完成)。然后异步调用图像加载代码,当图像完成加载时,在微调器上调用stopAnimating,将加载的图像放在其上,然后用removeFromSuperview删除微调器。

答案 1 :(得分:0)

AFAIK,没有内置的Cocoa API可以在一两个电话中执行此操作(这听起来像你想要的那样)。

我个人设置了一个单独的图像缓存管理器,它使用内置的NSURLConnection类来加载图像,将它们保存到文件系统,然后在请求类(包括一个小子类)上调用委托方法UIImageView)将加载的图像数据传递给它。

对于类似的任务,SO上的人也会使用ASIHTTPRequest报告成功。值得一试,我想(虽然我不使用它)。