我有一个在 xib 文件中定义的UITableViewCell
2 。UIImageView
现在我有了美化 ui 的想法,我想更改 UIImageView 的运行时,UIActivityIndicatorView
直到异步响应不回来。
不幸的是,UIActivityIndicatorView
它根本不可见,只有完成后的完整图像。
这是相关的代码部分:
-(UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell =
[tableView dequeueReusableCellWithIdentifier:myTableCellId];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
...
UIImageView *imageView = (UIImageView *)[cell viewWithTag:200];
...
imageView.image=nil; // reset image as it will be retrieved asychronously
UIActivityIndicatorView *loadingActivity = [[UIActivityIndicatorView alloc]
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
[loadingActivity startAnimating];
loadingActivity.frame = imageView.frame;
UIView* parent = [imageView superview];
[parent addSubview:loadingActivity];
[parent bringSubviewToFront:loadingActivity];
[myObject callMyFunction:index completionBlock:^(UIImage *img) {
dispatch_async(dispatch_get_main_queue(), ^{
imageView.image=img;
[loadingActivity stopAnimating];
[loadingActivity removeFromSuperview];
//DLog(@"Got image for: %@", titleLabel.text);
});
}];
return cell;
}
有什么想法有什么问题吗?