滚动时,UITableViewCell会清除值

时间:2011-07-06 06:22:06

标签: iphone

我在UITableViewCell上放置了三个按钮,其背景设置为一个取消选择的单选按钮图像。

单击按钮时,我再次将背景图像设置为选择按钮。

连续一个选择按钮应该保留,但在滚动UITableView时,所有选定的按钮图像都会被清除

有人可以通过这种方式或其他方式告诉我如何做到这一点吗?

2 个答案:

答案 0 :(得分:1)

您可能没有正确地重复使用单元格。滚动时,UITableView会重复使用上一个单元格,但不会正确更改其内容。以下是您参考的示例代码

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

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

    cell.textLabel.text = [urDataArray objectAtIndex:indexPath.row];
    return cell;
}

答案 1 :(得分:0)

保存表数据源中的按钮状态。 将该值设置为您的按钮。表在滚动时重新加载每个显示的行。