UITableView tap to deselect cell

前端 未结 14 1729
野性不改
野性不改 2020-12-16 10:37

I have a UITableViewCell that is selected when tapped. During this selected state, if the user taps the cell again, I want the cell to deselect.

I can\

14条回答
  •  天涯浪人
    2020-12-16 11:31

    - (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
        if ([cell isSelected]) {
            // Deselect manually.
            if ([tableView.delegate respondsToSelector:@selector(tableView:willDeselectRowAtIndexPath:)]) {
                [tableView.delegate tableView:tableView willDeselectRowAtIndexPath:indexPath];
            }
            [tableView deselectRowAtIndexPath:indexPath animated:YES];
            if ([tableView.delegate respondsToSelector:@selector(tableView:didDeselectRowAtIndexPath:)]) {
                [tableView.delegate tableView:tableView didDeselectRowAtIndexPath:indexPath];
            }
            return nil;
        }
    
        return indexPath;
    }
    

提交回复
热议问题