[英]Custom UITableViewCell Removing a subview
所以我有一个问题,并且确切地知道是什么原因造成的,而不是如何解决。 基本上我有一个tableViewCell正在加载这样的东西:
BroadcastTableViewCell *cell = (BroadcastTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
/*
* Other code to finish cell setup
*
*/
// Problem section
CGRect frame;
frame.size.width=50; frame.size.height=70;
frame.origin.x=0; frame.origin.y=0;
AsyncImageView* asyncImage = [[[AsyncImageView alloc]
initWithFrame:frame] autorelease];
asyncImage.tag = 999;
NSURL *url = [[[NSURL alloc] initWithString:[NSString stringWithFormat:@"http://image URL/%@", trimmedPath]] autorelease];
[asyncImage loadImageFromURL:url];
[cell.contentView addSubview:asyncImage];
基本上,这是一种异步加载单元格图像的方法,因此表格视图可以平滑滚动。 问题是,当我使用现有ID将新单元出队时,图像不会重置,而是放置在新单元下面。 有谁知道如何检测图像并在将新单元出队时将其删除?
只要搜索你的子视图AsyncImageView
使用viewWithTag:
AsyncImageView* asyncImage = [cell.contentView viewWithTag:999];
if (asyncImage == nil) {
CGRect frame;
frame.size.width=50; frame.size.height=70;
frame.origin.x=0; frame.origin.y=0;
asyncImage = [[[AsyncImageView alloc] initWithFrame:frame] autorelease];
asyncImage.tag = 999;
[cell.contentView addSubview:asyncImage];
} else {
// might want to cancel download here somehow
}
NSURL *url = [[[NSURL alloc] initWithString:[NSString stringWithFormat:@"http://image URL/%@", trimmedPath]] autorelease];
[asyncImage loadImageFromURL:url];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.