4

我有一个UITableView并且我想要它,这样当您点击单元格时,高度会动画到更高的高度(即:它会扩展)。我该怎么做?

4

1 回答 1

17

实际上很简单,为一个创建一个实例变量NSIndexPath,我称之为selectedIndexPath。然后你需要做的就是创造一个条件heightForRowAtIndexPath来调整这个特定单元格的高度,独立于其他单元格。

然后didSelectRowAtIndexPath将选定的索引路径 iVar 设置为选定单元格的路径,并在表格上调用开始/结束更新。单元格将自动扩展并带有漂亮的动画。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    selectedIndexPath = indexPath;
    [self.tableView beginUpdates];
    [self.tableView endUpdates];
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([indexPath compare:selectedIndexPath] == NSOrderedSame) {
        return 80;
    }
    return 40;
}
于 2013-01-06T04:53:09.717 回答