Objective C 单元格附件视图

Objective C Cell Accessory view

当我尝试将 table 视图单元格的附件视图设置为自定义类型图像并在模拟器中 运行 设置它时,我看到多个单元格具有附件视图图像而不是当前选择的那个。但是当我把accessory view设置为"cell.accessoryType = UITableViewCellAccessoryCheckmark;"的时候就没有这个问题了。这是代码。

id item = [_items objectAtIndex:row];

if ([_currentVale isKindOfClass:[NSString class]])
{
    if ([item isEqualToString:_currentVale])
    {

        UIImageView *checkmark = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"checkmark-outline.png"]];
        checkmark.frame = CGRectMake(0, 0, 20, 20);
        cell.accessoryView = checkmark;
    }
    else
    {
        cell.accessoryType = UITableViewCellAccessoryNone;
    }
}
else if ([_currentVale isKindOfClass:[NSNumber class]])
{
    if ([item isEqualToNumber:_currentVale])
    {
        cell.accessoryType = UITableViewCellAccessoryNone;

    }
    else
    {
        cell.accessoryType = UITableViewCellAccessoryNone;


    }
}

我所说的两张图片。在选择器中只应选择一个值,但有两个显示复选标记

细胞正在被重复使用。您还需要在 else 中将附件视图也设置为 nil。

else
    {
        cell.accessoryType = UITableViewCellAccessoryNone;
        cell.accessoryView = nil;
    }

不想显示图片的单元格不要忘记设置

cell.accessoryView = nil;