gpt4 book ai didi

iphone - uitableview重复图像

转载 作者:行者123 更新时间:2023-12-03 20:30:51 30 4
gpt4 key购买 nike

我有表格 View ,显示酒店以及他们是否喜欢。如果您最喜欢旅馆,我会在旅馆的行附件 View 中放置最喜欢的图像。但该图像不仅仅出现在目标旅馆。我随机放置在 tableView 中的其他单元格中。这是代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectMake(0, 0, 320, 50) reuseIdentifier:CellIdentifier] autorelease];
}

// Set up the cell...
//First get the dictionary object
NSDictionary *dictionary = [listOfItems objectAtIndex:indexPath.section];
NSArray *array = [dictionary objectForKey:@"Countries"];
NSString *cellValue = [array objectAtIndex:indexPath.row];
cell.textLabel.text = cellValue;

if (![favorites count] == 0) {
if ([favorites containsObject:[array objectAtIndex:indexPath.row]]) {
NSUInteger indexx = [favorites indexOfObject:cellValue];
if ([[favorites objectAtIndex:indexx] isEqual:cellValue]) {

// here is the image view

UIImageView *imageView = [[UIImageView alloc] init];
[imageView setImage:[UIImage imageNamed:@"small_ItsMyFavorite.png"]];
imageView.frame = CGRectMake(276, 0, 50, 50);
[cell addSubview:imageView];
[imageView release];
}
}

}
}
}

return cell;
}

我一直在寻找,问题出在哪里?

最佳答案

由于 UITableView 正在重用单元格,因此您的设计存在一些问题。

您将 UIImageView 添加到单元格中,即使它被重用,因此,例如,当您有 50 行并且一直向下滚动时,每次重用单元格时,您都会将 UIImageView 添加到单元格中。从而刷新内存。

更好的办法是子类化 UITableViewCell,在其中添加 UIImageView。不要忘记重写prepareForReuse方法,您可以在该方法中将UIImageView的图像设置为nil

关于iphone - uitableview重复图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595637/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com