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 に答える