1

セルをタップするときにセルを拡張する必要がありUITableViewます(アニメーションも同様です)。ただし、タップされているセルがわからないため、ここで答えを確認しました。選択したときにUITableViewCellの高さの変化をアニメーション化できますか?

質問だけでなく、非常に人気のある答えのようです。ただし、セルを取得する必要があるので、heightForRowAtIndexPathメソッドでセルを取得するにはどうすればよいですか?

私がこれを試したので:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

ただし、heightForRowAtIndexPathメソッドでこれを使用すると、アプリが最初に実行されたとき(ビューが読み込まれたとき)にアプリがクラッシュし、無限ループに陥ると思います。

とにかく、私がこのアプローチを取るとしたら、この問題を回避することをどのように提案しますか?セルにアクセスする必要があります。または、他にどのようにテーブルビューセル(アニメーション)を拡張しますか?

4

1 に答える 1

0

そのまま高さ調節を続けてください。

過去にうまく機能していたので、自動サイズ変更マスクからできるだけ多くのことを取得することをお勧めします。

よりきめ細かい制御が必要な場合は、サブクラスを作成し、setFrame:メソッドをオーバーライドして、フレームのサイズがいつ変更されているかを確認し、そこでアニメーションを適切に設定できます。

于 2012-11-22T23:00:16.093 に答える