gpt4 book ai didi

iphone - 当行重新排序或删除时更新交替颜色的 UITableViewCells

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

我有一个带有交替颜色的 UITableViewCells 的 UITableView。并且可以编辑表格:可以重新排序和删除行。当行重新排序或删除时,如何更新交替背景颜色的单元格?

我用它来绘制交替的彩色单元格:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if ([indexPath row] % 2) {
// even row
cell.backgroundColor = evenColor;
} else {
// odd row
cell.backgroundColor = oddColor;
}
}

但是当行被重新排序或删除时,不会调用此方法。我无法从以下方法调用 [tableView reloadData],因为它会导致应用程序无限循环崩溃:

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
// Move the object in the array
id object = [[self.list objectAtIndex:[fromIndexPath row]] retain];
[self.list removeObjectAtIndex:[fromIndexPath row]];
[self.list insertObject:object atIndex:[toIndexPath row]];
[object release];

// Update the table ???
[tableView reloadData]; // Crashes the app in an infinite loop!!
}

有人有指导或最佳实践解决方案来处理重新排序交替彩色单元格的问题吗?

谢谢

最佳答案

如果您无法从该方法调用,则使用延迟调用来执行重新加载:

[tableView performSelector:@selector(reloadData) withObject:nil afterDelay:0.0f];

它会等到当前方法完成后才会调用重新加载。

关于iphone - 当行重新排序或删除时更新交替颜色的 UITableViewCells,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1319695/

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