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;
当我尝试将 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;