我正在使用以下内容扩展tableViewCell
。但问题是我能够一次扩展多个单元格。我想要做的是,如果一个单元格被展开而单击任何其他单元格,前一个应该是未扩展的,因此一次只有一个单元格。
以下是我的扩展方式。
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if ([self.expandedCells containsObject:indexPath]) {
[self.expandedCells removeObject:indexPath];
}else{
isExpanded=YES;
[self.expandedCells addObject:indexPath];
//Populate expanded cell here
}
[self.tableView beginUpdates];
[self.tableView reloadData];
[self.tableView endUpdates];
}
答案 0 :(得分:0)
得到它。在添加任何内容之前,必须检查数组计数。
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if ([self.expandedCells containsObject:indexPath]) {
[self.expandedCells removeObject:indexPath];
}else{
isExpanded=YES;
if (self.expandedCells.count>0) {
[self.expandedCells removeAllObjects];
}
[self.expandedCells addObject:indexPath];
//Populate expanded cell here
}
[self.tableView beginUpdates];
[self.tableView reloadData];
[self.tableView endUpdates];
}
答案 1 :(得分:-1)
我假设self.expandedCells有要扩展的单元格数组。如果是这种情况,在didSelctRow中,从expandedCells数组中删除所有对象,然后添加所选单元格。并执行重新加载。
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[self.expandedCells removeAllObjects];
isExpanded=YES;
[self.expandedCells addObject:indexPath];
[self.tableView beginUpdates];
[self.tableView reloadData];
[self.tableView endUpdates];
}