gpt4 book ai didi

ios - UITableViewCell accessoryType UITableViewCellAccessoryCheckmark 重复

转载 作者:行者123 更新时间:2023-11-28 21:56:09 34 4
gpt4 key购买 nike

我有一个允许多个选择的 UITableView,但是由于某种原因,当我滚动 UITableView 时,我在滚动时重复使用 UITableViewCellAccessoryCheckmark 所做的选择。

这是我正在使用的代码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell.backgroundColor = [UIColor clearColor];

if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}

// Configure the cell...
cell.textLabel.text = [sortedMachineNames objectAtIndex:indexPath.row];

return cell;
}

#pragma mark - Table view delegate

// In a xib-based application, navigation from a table can be handled in -tableView:didSelectRowAtIndexPath:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

cell.accessoryType = UITableViewCellAccessoryCheckmark;
[selectedMachinesMArray addObject:cell.textLabel.text];
}

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

cell.accessoryType = UITableViewCellAccessoryNone;
NSUInteger index = [selectedMachinesMArray indexOfObject:cell.textLabel.text];
if (index!=NSNotFound) {
[selectedMachinesMArray removeObjectAtIndex:index];
}
}

最佳答案

在 cellforIndexAtPath 中检查单元格的当前状态并更改附件类型的值,如下所示:

if(marked)
cell.accessoryType = UITableViewCellAccessoryCheckmark;
else
cell.accessoryType = UITableViewCellAccessoryNone;

关于ios - UITableViewCell accessoryType UITableViewCellAccessoryCheckmark 重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26474556/

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