gpt4 book ai didi

ios - cellForRowAtIndexPath 属性更改更改多个单元格

转载 作者:行者123 更新时间:2023-11-29 02:49:30 24 4
gpt4 key购买 nike

免责声明:我使用的是 iOS 8,因此这可能是一个错误。

我正在尝试在特定事件发生后以编程方式编辑 UITableView 中特定 IndexPath 处单元格的背景颜色。我使用以下代码:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.backgroundColor = [UIColor colorWithRed:1 green:0.84 blue:0 alpha:1];

虽然这效果很好,但只要我滚动,我就会看到其他单元格的背景颜色已更改。我认为它与我的 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 方法中的以下代码有关:

static NSString *simpleTableIdentifier = @"SimpleTableCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
...

我怀疑,由于所有单元格都是使用此标识符生成的,因此属性在某种程度上变得困惑(尽管该样式并不适用于所有内容,仅适用于随机单元格,所以这是反对该理论的点)。感谢您的帮助!

最佳答案

您需要更改所有单元格的背景。

if (/* some condition for special background color */) {
cell.backgroundColor = ... // special background color
} else {
cell.backgroundColor = ... // normal background color
}

这避免了重用问题。对于您希望为特定单元格设置不同的任何单元格属性,您必须遵循此模式。

关于ios - cellForRowAtIndexPath 属性更改更改多个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24725812/

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