1

アプリに素敵なアコーディオン効果を実装しようとしています。私の目標は、ユーザーがセルをタップしたときにセルを「開き」、セルの高さが増すにつれて追加のコンテンツ (テキストなど) を表示することです。そのための完璧なサンプル コードは、Apple が提供する TableView Animations & Gestures サンプル コードです。しかし、私は全体の効果を台無しにする奇妙な動作を経験しています。

テーブルビューがセルを表示する順序 (上 --> 下または下 --> 上) に応じて、セルのテキストビューが互いに重なるか重ならないように見えます。言葉で説明するのは少し難しいので、画像で説明します。

これらのスクリーンショットは、TVAnimationsGestures サンプル コードから取得したもので、変更を加えていません。これは、ストーリーボードのないサンプル コードの最初のバージョンからのものです。

通常の動作

ストーリーボードを含むバージョンは、最初はうまく動作しましたが、しばらくすると、コードに触れなくても次のように描画され始めました。

セルの重なり

そして、カスタムセルのカスタムに正確な問題があります。

問題の原因を理解するのに少し時間がかかりました。セルが上セルから下セルに描画される場合、そのような問題はありません。ただし、セルが下から上に描画されると、それらは逆に積み重なるため、互いに重なります。この行動を制御することは不可能だと思います。私にヒントを与えたのは、下にスクロールして一番上のセルを強制的に再描画すると、実際にはうまく再描画され、画面は次のようになるということです。

混合

重なり合うセルと「良い」セルの混合。

繰り返しますが、これはすべて Apple のサンプル コードから直接得たもので、変更はありません。何が起こっているのか知っている人はいますか?

どうもありがとうございました。

4

1 に答える 1

0

You can increase the cell height by pinching on the cell.

于 2012-03-19T20:29:34.327 に答える