gpt4 book ai didi

iOS UITableView 单元格在滚动后加载不正确?

转载 作者:行者123 更新时间:2023-11-28 23:12:54 26 4
gpt4 key购买 nike

我在一个 View 中有 2 个 UITableView,我只在第二个表的第 5 行和第 7 行添加了 UITableViewCellAccessoryDisclosureIndicator。

但是在向下滚动第二个表格(第 1 行消失)然后滚动回到顶部(第 1 行出现)之后,第 1 行现在有 UITableViewCellAccessoryDisclosureIndicator?!第 1 行是否以某种方式变成了第 5 行或第 7 行???下面是我的 cellForRowAtIndexPath 代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}

cell.textLabel.textColor = [UIColor blueColor];
cell.detailTextLabel.textColor = [UIColor blackColor];
if (tableView == table1)
{
cell.textLabel.text = [title1 objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [list1 objectAtIndex:indexPath.row];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
else if (tableView == table2)
{
cell.textLabel.text = [title2 objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [list2 objectAtIndex:indexPath.row];
if (indexPath.row == 5 || indexPath.row == 7)
{
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
else
{
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
}
return cell;
}

非常感谢!

最佳答案

重用 UITableViewCells 以优化性能。这发生在 [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 您需要在每次调用 tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *) 时明确设置单元格上的任何属性索引路径

像这样应该可以解决问题:

if (indexPath.row == 5 || indexPath.row == 7)
{
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
else
{
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.accessoryType = UITableViewCellAccessoryNone;
}

关于iOS UITableView 单元格在滚动后加载不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7614845/

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