如何"收缩" TableView中的所有单元格并展开单击的单元格

时间:2014-10-02 12:37:26

标签: ios objective-c uitableview

当您单击TableView中的单元格时,它将展开。 我是如何通过以下方法实现的:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

if ([self.topicsArray containsObject:indexPath])
{
    [self.topicsArray removeObject:indexPath];
}
else
{
    [_topicsArray addObject:indexPath];

}

[_tableView beginUpdates];
[_tableView endUpdates];

}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{

CGFloat kExpandedCellHeight = 240;
CGFloat kNormalCellHeigh = 115;


    if ([_topicsArray containsObject:indexPath])
    {

        return kExpandedCellHeight;
    }
    else
    {
        return kNormalCellHeigh;
    }


}

我无法弄清楚该怎么做 - 如何缩小' TableView中的所有单元格在展开单击之前?!

1 个答案:

答案 0 :(得分:0)

啊哈,我知道你不要从数组中删除索引。

之前尝试[topicsArray removeAllObjects]
if ([self.topicsArray containsObject:indexPath])
{
    [self.topicsArray removeObject:indexPath];
}
else
{
    [_topicsArray addObject:indexPath];

}