我按照此处的代码https://stackoverflow.com/a/7212943/711837开始显示我的应用程序尝试从特定网站下载图像的指示器。场景是:
我有一个包含许多自定义单元格的表格视图,自定义单元格有 2 个标签和一个图像视图。我有一个NSURL
下载将填充标签的内容,然后一个单独的类将下载要填充到UIImageView
. 微调器和图像下载的代码是:
resultArray = [[NSArray alloc] initWithArray:response];
[self downloadImageFromInternet:@"http://static.colourlovers.com/images/shapes/0/7/7090/50x50.png"];
//spinner for the download
spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
spinner.frame = CGRectMake(0, 0, 24, 24);
custcell.accessoryView = spinner;
[spinner startAnimating];
///[spinner release];
[self.thetableView reloadData];
然后我调用了[spinner stopAnimating]
类的完成下载方法,但不知何故,微调器只是没有动画,或者出现了这个问题!我错过了什么吗?或者有什么地方可以参考吗?我的目标是在加载后显示UIIndicatorView
在那个地方UIImageView
,图像视图占据相同的位置,这在每个单元格上。
更新添加了方法
-(void) downloadImageFromInternet:(NSString*)urlToImage{
// Create a instance of InternetImage
asynchImage = [[DownloadThumb alloc] initWithUrl:urlToImage];
// Start downloading the image with self as delegate receiver
[asynchImage downloadImage:self];
}
-(void) internetImageReady:(DownloadThumb*)downloadedImage{
// The image has been downloaded. Put the image into the UIImageView
[arrayImg addObject:downloadedImage.Image];
[spinner stopAnimating];
[self.thetableView reloadData];
}
-(void)downloadImage:(id)delegate{
m_Delegate = delegate;
NSURLRequest *imageRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:ImageUrl]
cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60.0];
imageConnection = [[NSURLConnection alloc] initWithRequest:imageRequest delegate:self];
if(imageConnection)
{
workInProgress = YES;
m_ImageRequestData = [[NSMutableData data] retain];
}
}