我有一个 tableview 控制器,我希望能够一次选择 2 个,并且一次只能选择 2 个单元格。如果您已经选中了 2 个单元格,然后点击另一个未选中的单元格,则第一个单元格将取消选中,而最近的 2 个单元格将被选中。这是我未成功使用的内容:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
int count = 0;
int i = 0;
NSIndexPath *datPath = 0;
for (UITableViewCell *cell in [self.tableView visibleCells]) {
i++;
datPath = [NSIndexPath indexPathForRow:i inSection:0];
if([tableView cellForRowAtIndexPath:datPath].accessoryType == UITableViewCellAccessoryCheckmark){
count++;
}
}
if(count == 0){
firstChecked = indexPath;
[tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryCheckmark;
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
if(count == 1){
secondChecked = indexPath;
[tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryCheckmark;
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
if(count == 2){
[tableView cellForRowAtIndexPath:firstChecked].accessoryType = UITableViewCellAccessoryCheckmark;
firstChecked = secondChecked;
secondChecked = indexPath;
[tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryCheckmark;
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
NSLog(@"Count is equal to: %d",count);
对于那些想知道的人,我的表格视图确实允许多项选择。上面的代码会发生以下情况。计数值关闭,因此它允许我检查 3 次,然后完全停止允许我检查。我错过了什么吗?谢谢。