单个单元格没有发生TableView单元格扩展

时间:2014-09-12 11:57:21

标签: ios objective-c uitableview

我正在使用以下内容扩展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];


}

2 个答案:

答案 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];


}