Ios 如何在TableView中简单更改复选标记?

Ios 如何在TableView中简单更改复选标记?,ios,uitableview,storyboard,Ios,Uitableview,Storyboard,在我的应用程序中,在故事板中,我有一个包含许多表视图单元格的屏幕 例如,在前两个复选框中,当用户触摸其中一个复选框时,我需要移动复选框(进行选择) 有没有一种简单的方法可以做到这一点,例如,像插座连接? 或者怎么可能呢 谢谢。在上查看苹果的文档。基本上,您将在表视图的didSelectRowAtIndexPath方法中协调先前选定单元格(删除复选标记附件)和当前选定单元格(添加复选标记附件)的附件视图 这里是一个粗略的实现,假设您有一个可用的tasktype数组,以及所选的currentTas

在我的应用程序中,在故事板中,我有一个包含许多表视图单元格的屏幕

例如,在前两个复选框中,当用户触摸其中一个复选框时,我需要移动复选框(进行选择)

有没有一种简单的方法可以做到这一点,例如,像插座连接? 或者怎么可能呢


谢谢。

在上查看苹果的文档。基本上,您将在表视图的
didSelectRowAtIndexPath
方法中协调先前选定单元格(删除复选标记附件)和当前选定单元格(添加复选标记附件)的附件视图

这里是一个粗略的实现,假设您有一个可用的
tasktype
数组,以及所选的
currentTaskType
的属性

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:NO];

    NSInteger taskTypeIndex = [taskTypes indexOfObject:[self currentTaskType]];

    if ( taskTypeIndex == [indexPath row] )
    {
        return;
    }

    NSIndexPath     *oldIndexPath = [NSIndexPath indexPathForRow:taskTypeIndex inSection:0];
    UITableViewCell *newCell      = [tableView cellForRowAtIndexPath:indexPath];
    UITableViewCell *oldCell      = [tableView cellForRowAtIndexPath:oldIndexPath];

    if ( [newCell accessoryType] == UITableViewCellAccessoryNone )
    {
        [newCell setAccessoryType:UITableViewCellAccessoryCheckmark];
        [self setCurrentTaskType:[taskTypes objectAtIndex:[indexPath row]]];
    }

    if ( [oldCell accessoryType] == UITableViewCellAccessoryCheckmark )
    {
        [oldCell setAccessoryType:UITableViewCellAccessoryNone];
    }
}